- 1
- 2
- 3
- 4
- 5
procedure proc(a, b: integer);
begin
end;
proc(1, 2,); // лишняя запятая после 2 !!!!11
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+107
procedure proc(a, b: integer);
begin
end;
proc(1, 2,); // лишняя запятая после 2 !!!!11
на Delphi7 компилится и работает!!! Я в шокенах, 8 лет на Делфи и не знал...
Lure Of Chaos 14.02.2011 14:59 # +9
StriderMan 14.02.2011 15:02 # 0
TarasB 14.02.2011 15:15 # 0
Особенно, когда условными компиляциями обмазываешь и функция в зависимости от условий принимает разные параметры.
StriderMan 14.02.2011 15:28 # +1
TarasB 14.02.2011 16:00 # +1
А если наличие первого аргумента тоже зависит от условий компиляции?
StriderMan 14.02.2011 16:24 # 0
TarasB 14.02.2011 16:27 # 0
guest 15.02.2011 02:16 # −1
FadedInto 15.02.2011 10:44 # +2
StriderMan 15.02.2011 11:37 # 0
TarasB 15.02.2011 12:04 # 0
Программа может компилироваться в несколько разных комплектаций.
FadedInto 15.02.2011 12:20 # −2
guest 16.02.2011 01:53 # −3
Анонимус 15.02.2011 23:42 # +1
глючный этот ваш паскаль
понятно теперь, почему никто на нем пишет
TarasB 16.02.2011 10:17 # 0
ctm 16.02.2011 11:16 # 0
вот proc(1, 2,,); - уже не компилируется.
TarasB 16.02.2011 11:43 # 0
guest 16.02.2011 13:18 # 0
Что полезного этот "баг" позволяет делать? Приведите, наконец, пример.
TarasB 16.02.2011 13:22 # −2
guest 16.02.2011 13:30 # −1
Как этот пример связан с возможностью дельфи писать лишнюю запятую? Поясните, о великий гений паскаля.
TarasB 16.02.2011 13:32 # −2
guest 16.02.2011 13:35 # −1
ctm 17.02.2011 08:09 # +1
1) в ранних и посздних версиях этого нет
2) не позволяется proc(1, 2,,); - почему для 2-х параметров нельзя то, что можно для одного?
3) это не связано с порядком передачей параметров - проверил cdecl, register, stdcall, safecall, pascal.
Был бы баг не багом - в новых версиях оно бы осталось как "недокументированная фича".
TarasB 17.02.2011 10:17 # 0
2. Лол, ты зачем 2 запятые поставил? С 1 компилится.
3. И с фазами Луны тоже не связано. Ужасный баг, да.
ctm 17.02.2011 13:50 # 0
2. ну вдруг надо извратно дефайны расставить - раз уж мы говорим о них.
в любом случае ни у кого нет доказательств своей правоты о происхождении этого эффекта и каждый останется при своем мнении.
TarasB 17.02.2011 14:27 # +1
Короче, ты из жопы какую-то претензию вытащил и типа новый баг в Дельфи нашёл.
StriderMan 17.02.2011 12:03 # +3
TarasB 17.02.2011 14:29 # 0
guest 17.02.2011 15:10 # 0
proc(1,2), а можно proc(1,2,) и это будут всё те же 2 параметра.
Типичный глюк.
TarasB 17.02.2011 16:00 # −3
guest 17.02.2011 16:17 # 0
Чем же она так удобна?
Можно написать лишнюю запятую?
Для индусов это удобно. Можно писать так: сразу лишняя строка появляется в коде => +1 к зарплате.
TarasB 17.02.2011 17:16 # −3
Читай мой ответ на этот вопрос.
bugmenot 17.02.2011 17:24 # +4
'какой-то',
'сраный',
'скрипт',
);
guest 16.02.2011 13:22 # −1
На C++ можно так по стандарту:
Многоточие - не опечатка. Где-то тут на говнокоде пример такого кода выкладывали. Может в Си так тоже можно.
gegMOPO4 17.02.2011 12:52 # 0
guest 17.02.2011 13:51 # −1
Вообще, попробуйте, если интересно.
gegMOPO4 18.02.2011 19:25 # 0
ctm 17.02.2011 13:58 # 0
void f(int p, bool pp, ...)
guest 17.02.2011 14:02 # −1
ctm 17.02.2011 19:42 # 0
guest 17.02.2011 21:35 # −1
gegMOPO4 14.02.2011 21:02 # 0
ZX_Spectrum 14.02.2011 22:33 # +2
artureg 15.02.2011 11:50 # 0
gegMOPO4 15.02.2011 12:19 # +1
Lure Of Chaos 15.02.2011 16:24 # 0
guest 05.04.2011 12:17 # 0