Re: Здраствуйте не поможите правельно создать процедуру

2008-11-11 Пенетрантность WildSery

On Fri, 31 Oct 2008 12:24:12 +0300, Dmitri Kuzmenko [EMAIL PROTECTED] wrote:

 while  do begin
   ...
   ...
   ... еще 10 строк
   ...
   ...
 end;
 
 это я еще сюда отступов добавил. А так, ты уверен, что не проглядел в 
 середине этого текста вот такую хрень:
 if  then begin
 end;

Это вообще не аргумент. Потому что сугубо субьективен.
Да, я уверен. Потому что отступ. И мой END всегда находится на уровне того 
оператора, который завершает (WHILE).

А вот контрпример к твоему правилу:

while (some calculations) do
  i = i + 1;
begin
  -- А тут тоже чёта делаем
end

begin, на глазок и с точки зрения твоего видения синтаксиса, относится к 
while, тогда как нет, не относится.
Когда такое написание может быть обосновано? Да к примеру с конструкцией WHEN. 
Которая затем может быть убрана из кода. Или не убрана.

Или даже так:
while (some complicated calculations with changing values - for ex., executing 
stored proc) do;
begin
  -- А тут тоже чёта делаем
end

-- 
Сергей Смирнов.



Re: Здраствуйте не поможите правельно создать процедуру

2008-11-11 Пенетрантность Кузнецов Евгений
Доброго времени суток!

On 11 нояб, 11:48, WildSery wrote:

 А вот контрпример к твоему правилу:

 while (some calculations) do
   i = i + 1;
 begin
   -- А тут тоже чёта делаем
 end

 begin, на глазок и с точки зрения твоего видения синтаксиса, относится к 
 while, тогда как нет, не относится.

В общем, приходим к тому, что для любого оператора цикла/условия
желательно сразу использовать составной блок вне зависимости от
количества операторов. Я лично так и делаю.

--
С уважением, Евгений

Re: Здраствуйте не поможите правельно создать процедуру

2008-11-05 Пенетрантность Tonal


Dmitri Kuzmenko пишет:
Правильные пацаны давно составные конструкции одними отступами 
отмечают  (Python, Haskell).

то же дерьмо. я это уже кушал в Mumps.
F I=0..10 DO
.S A=I...

Из реального проекта:
  def walk_devices(self):
logging.info('Scan for timeouted device')
try:
  from reciver.save2base import _connect_curs
  curs = _connect_curs()
  dt = datetime.now() - timedelta(seconds=SEC_TIMEOUT)
  curs.execute(sel_timrout_devices, dt)
  for row in curs:
dev_id = row[0]
logging.info('Timeout for device %d', dev_id)
do_device(curs, dev_id)
  self.start()
except:
  logging.exception('Error for scan device')

П.С. И в С и в Pascal-е всегда писали и пишем именно в осуждаемом стиле. 

да никогда такого не было, чтобы begin писали на той же строке что и
if, when и так далее. Это какой-то сишник один раз применил, а потом
началось...

Я для паскаля такой стиль придумал ещё до плотного знакомства с С. :)
Именно из соображений компактности по вертикали - вспомни сколько строк 
текста вмещалось в редакторе Borland Pascal-я? ~20 а то и меньше.

Ну а в режиме отладки так вообще если строк 10 поместится - щастье.
Так что такой компактный стиль вполне оправдывался. :)
--
Александр Замараев



Re: Здраствуйте не поможите правельно создать процедуру

2008-11-04 Пенетрантность Dmitri Kuzmenko


Hello, Tonal!

Tonal wrote:

Правильные пацаны давно составные конструкции одними отступами отмечают 
 (Python, Haskell).

Так что и холиваров никаких из за подобных глупостей там нет. :)


то же дерьмо. я это уже кушал в Mumps.

F I=0..10 DO
.S A=I...

П.С. И в С и в Pascal-е всегда писали и пишем именно в осуждаемом стиле. 


да никогда такого не было, чтобы begin писали на той же строке что и
if, when и так далее. Это какой-то сишник один раз применил, а потом
началось...

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-11-04 Пенетрантность Dmitri Kuzmenko


Hello, Евгений!

Кузнецов Евгений wrote:


По while, вестимо.


звездец...


То есть? Если в любом if/while/for/repeat всегда будет begin, то не
все ли равно где - на той же строке или на следующей? Не понимаю Вашей
категоричности.


потому что не видишь. очень жаль. сочувствую тем, кто будет
читать твой код (если будет).

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-11-04 Пенетрантность Кузнецов Евгений
Доброго времени суток!

On 5 нояб, 10:27, Dmitri Kuzmenko wrote:

 потому что не видишь. очень жаль. сочувствую тем, кто будет
 читать твой код (если будет).

Так и помру неучем :)
К счастью, мой код не представляет особенной ценности для потомков.

Кстати, в Обероне, насколько я в курсе, Вирт ввел обязательный END для
WHILE\IF-блоков, и BEGIN там уже не нужен. Т.е. получаем

WHILE (condition) DO


END

IF (condition) THEN

ELSE

END

или

IF (condition) THEN

ELSEIF (condition) THEN

END

Заодно и решена проблема неопределенного Else.
--
С уважением, Евгений

Re: Здраствуйте не поможите правельно создать процедуру

2008-11-01 Пенетрантность Кузнецов Евгений
Доброго времени суток!

On 31 окт, 12:24, Dmitri Kuzmenko wrote:
 Керниган идет лесом (а еще конкретнее - в задницу). Иногда очень умные
 люди порят полную чушь. Или, их мудрые высказывания интерпретируют ровно
 наоборот.
 Объясни мне, как ты увидишь, где начинается блок, если написано так\

 while  do begin
    ...
    ...
    ... еще 10 строк
    ...
    ...
 end;

По while, вестимо.

 это я еще сюда отступов добавил. А так, ты уверен, что не проглядел в
 середине этого текста вот такую хрень:
 if  then begin
 end;

 ?

То есть? Если в любом if/while/for/repeat всегда будет begin, то не
все ли равно где - на той же строке или на следующей? Не понимаю Вашей
категоричности.
--
С уважением, Евгений

Re: Здраствуйте не поможите правельно создать процедуру

2008-11-01 Пенетрантность Tonal


Dmitri Kuzmenko пишет:
Керниган идет лесом (а еще конкретнее - в задницу). Иногда очень умные 

Истину глаголешь!

Да и вообще все эти begin/end-ы и кривые скобочки не более чем 
синтаксический мусор!
Правильные пацаны давно составные конструкции одними отступами отмечают 
 (Python, Haskell).

Так что и холиваров никаких из за подобных глупостей там нет. :)

П.С. И в С и в Pascal-е всегда писали и пишем именно в осуждаемом стиле. 
Для более компактного представления алгоритма. Символов табуляции не 
используем. За коверканье отступов выговор, с занесением. :)

--
Александр Замараев



RE: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Dmitriy A. Beloshistov
Привет!

 я такую фигню (парсеры с подстановкой) писал в 1993 году.
 И умудрялся запятые ставить корректно, после имен.
 И чтобы после последнего элемента списка запятой не было.

Вах, гуру! ;)

А если серьезно - да какая нафиг разница, как ты текст пишешь? Эстетам все 
равно не угодить.
Главные критерии:
1) работоспособность
2) соответствие хоть каким-то стандартам (корпоративным, общепринятым, еще 
каким-то)
3) читабельность (хотя бы относительная, на уровне понимания алгоритма)
4) наличие комментариев (хотя бы минимальное)


WBR, Dmitry Beloshistov AKA [-=BDS=-]




 

__ Èíôîðìàöèÿ îò ESET NOD32 Antivirus, âåðñèÿ áàçû äàííûõ ñèãíàòóð 
âèðóñîâ 3571 (20081030) __

Ñîîáùåíèå ïðîâåðåíî ïðîãðàììîé ESET NOD32 Antivirus.

http://www.esetnod32.ru
 


Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Gene Feudorov


Hello, Булгачев Сергей!
You wrote  on Thu, 30 Oct 2008 19:55:05 +0300:

 list = element [',' element ...]
 запятая - она в начале, а не в конце куда пишем чаще?

БС Ну не знаю, не убедил, вобщем :)

Сергей, ты ни разу не забывал при дописывании списка запятую в конце поставить!?
или переставляя местами элементы в списке в зяпятых ошибиться!?

скажем, решил я в список полей добавить rdb$description

select rdb$field_name,
 rdb$field_position,
 rdb$relation_name
 rdb$description
from rdb$relation_fields
where rdb$relation_name = :rdb$relation_name

и по забывчивости запятую пропустил а получил синтаксически верную 
конструкцию!

но дальше она мне может боком вылезти.
поэтому я уш лучше вот так буду писать на автомате:

select rdb$field_name
,rdb$field_position
,rdb$relation_name
,rdb$description
from rdb$relation_fields
where rdb$relation_name = :rdb$relation_name

и не загружать мозг синтаксическим анализом :-)

а как удобно я вам доложу из того create table, што я приводил,
вытаскивать список полей с запятыми :-)

Фёдоров Евгений.
ЗАО Трест-М. Екатеринбург. 





Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Gene Feudorov


Hello, Dmitri Kuzmenko!
You wrote  on Fri, 31 Oct 2008 00:18:03 +0300:

 Дим, а как ты относишься к таким расстановкам запятых?

DK по правилам правописания, текст запятыми отделяется именно так, как
DK я это делаю в тексте, что ты читаешь.

дык если б мы писали программы на русском языке, у нас бы и скобок вложенных бы 
не было!

большинство людей из пяти вычитает три, а я складываю пять и минус три :-)

Фёдоров Евгений.
ЗАО Трест-М. Екатеринбург. 





Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность PEAKTOP
 и слово ,начинающееся с запятой ,это нонсенс какой-то.
 --
 Dmitri Kouzmenko,www.ibase.ru, (495) 953-13-34

Это просто удобно. Насчет CREATE TABLE ничего не скажу, потому как
последний раз создавал таблицу ручками в 2002 году, а сейчас очень
плотно на IBExpert-e  сижу. А вот в PSQL-блоках - очень удобно.
Закомментировал строчку для отладки, отладил - вернул обратно. И опять
же таки, последние год я все отчеты на PSQL-блоки переделывал и
изначально проектировал, вместо хранимых процедур. А там, когда
автоматика генерит скрипт, тоже удобно, чтоб не забыть про запятые и
не наставить лишних.

Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Dmitri Kuzmenko


Hello, Gene!

Gene Feudorov wrote:


поэтому я уш лучше вот так буду писать на автомате:

select rdb$field_name
,rdb$field_position
,rdb$relation_name
,rdb$description
from rdb$relation_fields
where rdb$relation_name = :rdb$relation_name

и не загружать мозг синтаксическим анализом :-)


я не эстет, но у меня внутреннее противоречие по поводу
таких конструкций.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Kochmin Alexandr


Dmitri Kuzmenko wrote:

В общем, если форматирование ПОЗВОЛЯЕТ неверно интерпретировать 
структуру кода, то ну его нахрен такое форматирование.


ну чего вы спорите то?
У вас в редакторе нету сворачивания блоков кода и подсветки синтаксиса?
Пишите главное чтоб удобно было тому кто пишет. остальное все условности.



Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность freemanzav


Dmitri Kuzmenko:
Иногда очень умные люди порят полную чушь.

Они иногда и пишут так :-)

while (fb_interpret(s + 1, sizeof(s) - 1, vector)) {
translate_cp(s);
alice_output(%s\n, s);
}

Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Ded


Dmitriy A. Beloshistov wrote:

А если серьезно - да какая нафиг разница, как ты текст пишешь? Эстетам все 
равно не угодить.


   Это, оно конешно. Потому что - знамо дело. Но - однако. Я вот, 
например, глянул на это буквостолпотворение в корневом, зевнул, и пошёл 
к следующему посту. Была охота глаза ломать...


--
Regards. Ded.



Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Ded


Dmitri Kuzmenko wrote:

Иногда очень умные люди порят полную чушь.


Точно-точно. Я за собой это в последнее время тоже всё чаще замечаю.


Или, их мудрые высказывания интерпретируют ровно наоборот.


А уж про это и говорить нечего.

--
Regards. Ded.



Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Dmitri Kuzmenko


Hello, Ded!

Ded wrote:

Иногда очень умные люди порят полную чушь.


Точно-точно. Я за собой это в последнее время тоже всё чаще замечаю.


я про себя писал? тоже могу отмочить :-)

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-10-31 Пенетрантность Михаил Самара

 while ... do
    begin
      ...
      ...
      if ... then
        begin
          ...
          ...
        end;
      ...
    end;

Именно так требую форматировать все программы уже мног лет.
Подобное форматирование предлагал еще Вирт - кажется он имел некое
отношение к паскалю :)
Я показываю такое форматирование потенциальному новому сотруднику и
прошу объяснить а почему собственно, если может объяснить но это
дополнительный + :)


Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность ZiBiT

Вот сама процедура 
СREATE OR ALTER PROCEDURE P_PRICE (
pcur integer,
fprn integer)
returns (
sec varchar(255),
prub float,
qinp integer,
unt varchar(255),
nm varchar(255))
as
begin
if (pcur = '0' and fprn = '0') then begin
for select gd.nm, unt.nm as unt, gd.qinp, gd.prub as prub,
sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end if (pcur = '1' and fprn = '0') then begin
  for select gd.nm, unt.nm as unt, gd.qinp, gd.pcur as
prub, sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)

Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end if (pcur = '0' and fprn = '1') then begin
  for select gd.nm, unt.nm as unt, gd.qinp, gd.prub as
prub, sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
where gd.fprn = 1
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end
if (pcur = '1' and fprn = '1') then begin
  for select gd.nm, unt.nm as unt, gd.qinp, gd.pcur as
prub, sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
where gd.fprn = 1
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end if (pcur = '0' and fprn = '2') then begin
  for select gd.nm, unt.nm as unt, gd.qinp, gd.prub as
prub, sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
where sec.fprn = 1
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end
if (pcur = '1' and fprn = '2') then begin
  for select gd.nm, unt.nm as unt, gd.qinp, gd.pcur as
prub, sec.nm as sec from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
where sec.fprn = 1
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;
  end end
end

не подскажите как сделать процедуру вида СREATE OR ALTER PROCEDURE
P_PRICE (
pcur integer,
fprn integer)
returns (
sec varchar(255),
prub float,
qinp integer,
unt varchar(255),
nm varchar(255))
as
begin
if (pcur = '0') then begin
for select gd.nm, unt.nm as unt, gd.qinp, gd.prub as prub,
sec.nm as sec from gd
end
if (pcur = '1') then begin
for select gd.nm, unt.nm as unt, gd.qinp, gd.prub as pcur,
sec.nm as sec from gd
end
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
if (pcur = '1') then begin
where gd.fprn = 1
   end;
   if (pcur = '1') then begin
where sec.fprn = 1
end;
Order By id_sec, gd.nm
INTO :nm,:unt,:qinp,:prub,:sec

  do begin
  suspend;


Спасибо


Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitri Kuzmenko




ZiBiT wrote:

Вот сама процедура 


вопрос-то в чем? и зачем процедура два раза?
и почему такое кривое форматирование отступов в коде?

че это за блядство (другого термина не нахожу)

  do begin
  suspend;
  end end

ты пробелы и строки экономишь, что-ли?

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Kochmin Alexandr


Dmitri Kuzmenko wrote:


че это за блядство (другого термина не нахожу)

  do begin
  suspend;
  end end


и вообще, почему без шапки.



Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitri Kuzmenko


Hello, Alexandr!

Kochmin Alexandr wrote:


и вообще, почему без шапки.


да можно и без шапки, только я считаю, что форматирование
кода весьма важная вещь. и если человек не умеет его форматировать
ДЛЯ СЕБЯ, а не для дяди, то этому человеку надо срочно вправить
руки.

можно даже вот этим пользоваться
http://dn.codegear.com/article/10280

там примеров навалом. Я знаю что очень часто люди пишут так:

// INCORRECT
while (LongExpression1 or LongExpression2) do begin
  // DoSomething
  // DoSomethingElse;
end;

когда на самом деле это жутко криво и неправильно
правильно вот так

// CORRECT
while (LongExpression1 or LongExpression2) do
begin
  // DoSomething
  // DoSomethingElse;
end;

я еще делаю отступы у блока begin/end, но это уже непринципиально.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




RE: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitriy A. Beloshistov

Привет.

Засунь в отдельную процедуру/вьюху

for select gd.nm,gd.fprn, unt.nm as unt, gd.qinp, gd.prub as prub,sec.nm as sec 
from gd
inner join unt unt on (gd.id_unt = unt.id)
inner join sec sec on (gd.id_sec = sec.id)
Order By id_sec, gd.nm
INTO :nm,:fprn,:unt,:qinp,:prub,:sec  /* для процедуры */

Ну а в основной процедуре проверяй условия и накладывай свое дополнительное 
where.

Что-то вроде:
If (fprn0) then 
   For select nm,unt,qinp,prub,sec 
   From subprocedure
   Where fprn=1
   Into :nm,:unt,:qinp,:prub,:sec
   Do suspend;
Else 
   For select nm,unt,qinp,prub,sec 
   From subprocedure
   Into :nm,:unt,:qinp,:prub,:sec
   Do suspend;


WBR, Dmitry Beloshistov AKA [-=BDS=-]


 

__ Eioi?iaoey io ESET NOD32 Antivirus, aa?ney aacu aaiiuo neaiaoo? 
ae?onia 3568 (20081030) __

Niiauaiea i?iaa?aii i?ia?aiiie ESET NOD32 Antivirus.

http://www.esetnod32.ru
 


Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Gene Feudorov


Hello, Dmitri Kuzmenko!
You wrote  on Thu, 30 Oct 2008 10:52:19 +0300:

DK когда на самом деле это жутко криво и неправильно правильно вот так

Дим, а как ты относишься к таким расстановкам запятых?

select C.Calc_ID, C.Item_ID, C.Active_
,C.Add_Date, C.Add_User
,(case when C.Active_=1 then 'Активная' end) as ActiveName
from Calc C
where C.Item_ID=:Item_ID

create table BALANCE(
  BALANCE_ID D_PK  not null
 ,NAME   D_NAME
 ,IS_BLACK   D_SIGN
 ,DEL_USER   D_USER_ID
 ,DEL_DATE   D_DATE
);

эт криво и неправильно, но так минимизирует ошибки :-)

Фёдоров Евгений.
ЗАО Трест-М. Екатеринбург. 





RE: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitriy A. Beloshistov
 эт криво и неправильно, но так минимизирует ошибки :-)

У меня часть скриптов генерируется ботами на основе вот такого:
 /*
 %%TABLECOMMENT
 */
 CREATE %TABLENAME% (
   %%FIELDLIST %FIELDNAME% %FIELDTYPE% %NOT NULL%
  );

Или
 SELECT %%FIELDLIST FROM %PROCNAME% %%PARAMLIST %%WHERESTATEMENT

Тоже криво и неправильно, но я вообще часто не смотрю, что там внутри 
сгенерилось ;))

P.S. Эх, еще бы придумать как сложные JOIN`ы на автомате делать.


 

__ Èíôîðìàöèÿ îò ESET NOD32 Antivirus, âåðñèÿ áàçû äàííûõ ñèãíàòóð 
âèðóñîâ 3570 (20081030) __

Ñîîáùåíèå ïðîâåðåíî ïðîãðàììîé ESET NOD32 Antivirus.

http://www.esetnod32.ru
 


Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitri Kuzmenko


Hello, Gene!

Gene Feudorov wrote:


Дим, а как ты относишься к таким расстановкам запятых?

select C.Calc_ID, C.Item_ID, C.Active_
,C.Add_Date, C.Add_User
,(case when C.Active_=1 then 'Активная' end) as ActiveName


я не истина в последней инстанции, но отрицательно.
по правилам правописания, текст запятыми отделяется именно так,
как я это делаю в тексте, что ты читаешь. Поэтому

   BALANCE_ID D_PK  not null,
   NAME   D_NAME,
   IS_BLACK   D_SIGN,

и слово ,начинающееся с запятой ,это нонсенс какой-то.


эт криво и неправильно, но так минимизирует ошибки :-)


не знаю, где минимизирует.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность Dmitri Kuzmenko


Hello, Dmitriy!

Dmitriy A. Beloshistov wrote:


У меня часть скриптов генерируется ботами на основе вот такого:
Или
 SELECT %%FIELDLIST FROM %PROCNAME% %%PARAMLIST %%WHERESTATEMENT

Тоже криво и неправильно, но я вообще часто не смотрю, что там внутри 
сгенерилось ;))


я такую фигню (парсеры с подстановкой) писал в 1993 году.
И умудрялся запятые ставить корректно, после имен.
И чтобы после последнего элемента списка запятой не было.

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34




Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность RUST




я такую фигню (парсеры с подстановкой) писал в 1993 году.
И умудрялся запятые ставить корректно, после имен.
И чтобы после последнего элемента списка запятой не было.


блин, а у меня другая техника была, я перед всеми кроме
первого ставил ;-)





Re: Здраствуйте не поможите правельно создать процедуру

2008-10-30 Пенетрантность freemanzav
Dmitri Kuzmenko wrote:
там примеров навалом. Я знаю что очень часто люди пишут так:

// INCORRECT
while (LongExpression1 or LongExpression2) do begin
   // DoSomething
   // DoSomethingElse;
end;

когда на самом деле это жутко криво и неправильно
правильно вот так


А вот Керниган с этим не согласен :-)