Size: a a a

2020 October 23

HG

Hemul GM in Delphi & Lazarus
Или тебе короче кодом описать класс потока и метода Execute?
источник

MS

Mr Smith in Delphi & Lazarus
Alexey Kulakov
а то начинается... одному какие-то извращения языковые нужны, другому скобочки вместо begin-end
Или префиксный инкремент подавай
источник

BM

Bronislav Miksha in Delphi & Lazarus
Иногда хочется "быстрых углеводов". Тот же "строки в case напрямую". А не только перечисляемый тип (пусть и ценой скорости). И судя по поиску, не только мне:
http://www.proghouse.ru/programming/103-delphi-string-in-case
источник

АВ

Александр В... in Delphi & Lazarus
Когда мне это надо было в дельфях - я использовал IndexStr, и бед не знал. В FPC такое из коробки-)))
источник

BM

Bronislav Miksha in Delphi & Lazarus
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Declarations_and_Statements_(Delphi)
"The case statement may provide a readable alternative to deeply nested if conditionals."
Суть в синтаксическом сахаре для читаемости. А не как закостылить, чтобы case не ругался. )
источник

RS

Renat Suleymanov in Delphi & Lazarus
Александр В
Когда мне это надо было в дельфях - я использовал IndexStr, и бед не знал. В FPC такое из коробки-)))
А еще в FPC можно так
case aString of:
 'abcd':
...
источник

АВ

Александр В... in Delphi & Lazarus
Единственное что в FPC угнетает - это дженерики, прям аж зубы скрипят от этих specialize😁
источник

HG

Hemul GM in Delphi & Lazarus
Bronislav Miksha
Иногда хочется "быстрых углеводов". Тот же "строки в case напрямую". А не только перечисляемый тип (пусть и ценой скорости). И судя по поиску, не только мне:
http://www.proghouse.ru/programming/103-delphi-string-in-case
case IndexStr('2', ['1', '2', '3']) of
   0:
     ShowMessage('1');
   1:
     ShowMessage('2');
   2:
     ShowMessage('3');
 end;
источник

RS

Renat Suleymanov in Delphi & Lazarus
Александр В
Единственное что в FPC угнетает - это дженерики, прям аж зубы скрипят от этих specialize😁
Не знаю. Мне нравятся дженерики FPC. И в т.ч. ключевое слово Specialize. Очень читабельно, каким и должен быть Pascal )
источник

АВ

Александр В... in Delphi & Lazarus
На вкус и цвет как говориться-)))
источник

RS

Renat Suleymanov in Delphi & Lazarus
Александр В
На вкус и цвет как говориться-)))
Просто если есть generic, то логично появление слова specialize, как обратный процесс )
источник

BM

Bronislav Miksha in Delphi & Lazarus
Hemul GM
case IndexStr('2', ['1', '2', '3']) of
   0:
     ShowMessage('1');
   1:
     ShowMessage('2');
   2:
     ShowMessage('3');
 end;
Выше уже писал, что речь про:
источник

BM

Bronislav Miksha in Delphi & Lazarus
Renat Suleymanov
А еще в FPC можно так
case aString of:
 'abcd':
...
как тут.
источник

ED

Ed Doc in Delphi & Lazarus
Боюсь, если добавлять все фичи из других ЯП, мы получим один язык похожий на другой с различием только в названии 😊
источник

AK

Alexey Kulakov in Delphi & Lazarus
а главное, тормозной и кривой
источник

DL

Dmitry Lamdan in Delphi & Lazarus
Bronislav Miksha
http://docwiki.embarcadero.com/RADStudio/Sydney/en/Declarations_and_Statements_(Delphi)
"The case statement may provide a readable alternative to deeply nested if conditionals."
Суть в синтаксическом сахаре для читаемости. А не как закостылить, чтобы case не ругался. )
На самом деле case это не только читаемость, это еще и оптимизация переходов в случае с перечислимыми типами. Если использовать if ... if ... if. .. - происходит именно то, что написано - множество сравнений. Case же генерирует переход по таблице сразу на нужный вариант.
источник

ED

Ed Doc in Delphi & Lazarus
Dmitry Lamdan
На самом деле case это не только читаемость, это еще и оптимизация переходов в случае с перечислимыми типами. Если использовать if ... if ... if. .. - происходит именно то, что написано - множество сравнений. Case же генерирует переход по таблице сразу на нужный вариант.
+100500
источник

MS

Mr Smith in Delphi & Lazarus
Вместо всякой шляпы лучше бы добавили:
try
except
finally
end
источник

RS

Renat Suleymanov in Delphi & Lazarus
Mr Smith
Вместо всякой шляпы лучше бы добавили:
try
except
finally
end
Ну вот, кстати, тоже не понимаю почему так не сделали. Но ни FPC ни Delphi такое не сделали. Может они считают это вредным? Мне же кажется реально код сократился бы не в ущерб читабельности
источник

АВ

Александр В... in Delphi & Lazarus
Вот солидарен
источник