Здравствуйте, Sonic, Вы писали:
S>Здравствуйте, trump-card, Вы писали:
S>Был реальный случай, по фирме в рассылке ходил этот перл
S>int i = 2;
S>if ( i == 1 ) S> ......... S>if ( i == 2 ) S> .........
S>между обьявлением переменной и if-ом ничего не было.
Можно предволожить, что это хреново реализованная опция компиляции (то есть перед компиляцией меняешь число — и получаешь другую логику)
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, Аноним, Вы писали:
А>А вот вариант А>ParentClass *cl[4] = {m_pChild0, m_pChild1, m_pChild2, m_pChild3}; А>for( int i=0; i<4; i++ ) А>cl[i]->peration (...); А>дествительно лучше смотрится. Че то мне массивы в голову не приходили
Ну и для полноты картины, в случае C++ используем такою конструкцию
for ( int i = 0; i < sizeof ( cl ) / sizeof ( cl [ 0 ] ); i++ )
cl[ i ]->operation ( ... );
И сколько надо, столько и добавляем Child'ов в массив.
Здравствуйте, serge_levin, Вы писали:
_>Здравствуйте, Аноним, Вы писали:
А>>А вот вариант А>>ParentClass *cl[4] = {m_pChild0, m_pChild1, m_pChild2, m_pChild3}; А>>for( int i=0; i<4; i++ ) А>>cl[i]->peration (...); А>>дествительно лучше смотрится. Че то мне массивы в голову не приходили
_>Ну и для полноты картины, в случае C++ используем такою конструкцию
_>for ( int i = 0; i < sizeof ( cl ) / sizeof ( cl [ 0 ] ); i++ ) _> cl[ i ]->operation ( ... );
_>И сколько надо, столько и добавляем Child'ов в массив.
У меня давно сложилось впечатление что большинство Си-шников страдают манией превращения простых, удобочитаемых текстов программ в некие подобия математических формул повышенной "закрученности", благо средства языка позволяют. А, скажем, месяца через два приходится доооолго смотреть в 1-2 строчки "упакованного" кода и вспоминать: Что я хотел "ЭТИМ" сказать/сделать?
Здравствуйте, Eugeny__, Вы писали:
S>>int i = 2;
S>>if ( i == 1 ) S>> ......... S>>if ( i == 2 ) S>> .........
E__>Можно предволожить, что это хреново реализованная опция компиляции (то есть перед компиляцией меняешь число — и получаешь другую логику)
Можно предположить, что в первом if недописанный код. Видел такое в реальном проекте. Был замысел вызывать одну функцию с разными параметрами из двух пунктов меню. Второй режим до конца реализован еще не был, и для релиза временно была вставлена строчка с принудительной записью значения первого режима в переменную.
AW>У меня давно сложилось впечатление что большинство Си-шников страдают манией превращения простых, удобочитаемых текстов программ в некие подобия математических формул повышенной "закрученности", благо средства языка позволяют. А, скажем, месяца через два приходится доооолго смотреть в 1-2 строчки "упакованного" кода и вспоминать: Что я хотел "ЭТИМ" сказать/сделать?
Нет, просто "Си-шники" за изящество и поэтому их сложно понять VB-программистам. Или Вы не VB-программист или просто уже не помните, что хотели этим сказать?
Здравствуйте, Блудов Павел, Вы писали: PPA>> В Oracle в таблице dual _всегда_ одна запись!
БП>Мимо кассы. В x_seq.nextval, скорее всего одна запись — если это последовательность.
Естесвенно, что это последовательность
БП> Что из приведённого очевидно, но не доказано. БП>А в SELECT ... FROM DUAL будет столько записай, сколько нужно. Например, если x_seq.nextval это функция, возвращающая массив.
выборка из dual без where (или connect by) всегда вертает 1 запись.
...а функции возвращающие массив в оракле зовутся не так
выборка должна быть вида:
select * from TABLE(cast(F(1) as T_X))
Здравствуйте, trump-card, Вы писали:
TC>Онаружил такой код в чужой компоненте:
TC>
TC> for(j = 0; j < 3; j++)
TC> {
TC> switch(j)
TC> {
TC> case 0:
TC> // Действие 1
TC> break;
TC> case 1:
TC> // Действие 2
TC> break;
TC> case 2:
TC> // Действие 3
TC> break;
TC> }
TC> }
TC>
ИМХО: ели внутри Действие n переманная j изменяется, то это смахивает на автомат для распознования регулярных выражений в котором состояния в большенстве случаев увеличивается на один. Автор был порядочым леньтяем и изврощенсом.
Здравствуйте, U-4X-96, Вы писали:
U49>Здравствуйте, trump-card, Вы писали:
TC>>Онаружил такой код в чужой компоненте:
TC>>
TC>> for(j = 0; j < 3; j++)
TC>> {
TC>> switch(j)
TC>> {
TC>> case 0:
TC>> // Действие 1
TC>> break;
TC>> case 1:
TC>> // Действие 2
TC>> break;
TC>> case 2:
TC>> // Действие 3
TC>> break;
TC>> }
TC>> }
TC>>
U49>ИМХО: ели внутри Действие n переманная j изменяется, то это смахивает на автомат для распознования регулярных выражений в котором состояния в большенстве случаев увеличивается на один. Автор был порядочым леньтяем и изврощенсом.
U49>
Я тоже подумал об этом.
Если j меняется (а меняться оно имеет право как угодно), то такой цикл вполне оправдан.