![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
case +string
07002 © (2007-08-16 20:23:00)Я приавильно понимаю, что в операторе case использовать string не представляется возможным?
var
ss: string[40];
s1, s2: string[40];
begin
case ss of
s1: Halt(1);
s2: Halt(0);
end;
end;
DevilDevil (2007-08-17 13:28:00) [21]> tesseract © (17.08.07 13:20) [26]
а что, собственно, обсуждаем?
- можно ли решить подобный вопрос без использования string-case ?
- можно
- есть ли задачи, в которых такая возможность была бы полезна ?
- есть
- если бы такая возможность поддерживалась в Delphi, хуже было бы ?
- нет, только лучше
tesseract (2007-08-17 13:20:00) [22]
> задачи такие есть
Кнута мы не читали, там и не такие задачи без стрингов решаються.
"Кнут программированию не научит, там сплошная математика" (С) какой-то форум.
DevilDevil (2007-08-17 13:18:00) [23]> tesseract © (17.08.07 12:53) [22]
неважно!
задачи такие есть
Anatoly Podgoretsky (2007-08-17 13:17:00) [24]> DevilDevil (17.08.2007 12:50:20) [20]
Никто на Дельфи не держит.
Игорь Шевченко (2007-08-17 13:12:00) [25]
> В gamedev-е, к примеру, вопрос шаблонов актуален.
"во многой мудрости много печали; и кто умножает познания, умножает скорбь." (Еккл. 1.18)
tesseract (2007-08-17 12:53:00) [26]
> в некоторых случаях используют различные фабрики классов,
> настроек...
> Прочитать тег, например, может понадобиться, есть такие
> задачи!
A string-case тут причём ? Тэги конечными автоматами разбираються.
DevilDevil (2007-08-17 12:52:00) [27]то же самое про Result и return ...
есть задачи, в которых очень удобен Result, есть задачи, в которых очень удобен return... почему бы не объединить 2 возможности ?
поэтому разработчики "DLangExtensions" - круты!
DevilDevil (2007-08-17 12:50:00) [28]кстати говоря, работая на Си чуть более года, я осознал полезность и удобство таких вещей как макросы и операторы типа
Value = (условие)? true_value : false_value;
DevilDevil (2007-08-17 12:46:00) [29]
> palva © (17.08.07 11:30) [17]
> > String в case - это программистский маразм. Если вам нужен
> String в case используйте Basic.
в некоторых случаях используют различные фабрики классов, настроек... по определённым строковым константам. Прочитать тег, например, может понадобиться, есть такие задачи!
в этом случае string-case удобнее и читабельнее.
реплики типа "пограммистский маразм" я бы посоветовал оставлять при себе
DevilDevil (2007-08-17 11:38:00) [30]В дебаге тоже было бы полезно:
procedure RaiseException(const ExceptionText : string; const UnitStr : string = $__FILE__; const Line : string = $__LINE__);
begin
Log(Format(Exception! Unit "%s", CodeLine %s : "%s"', [UnitStr, Line, ExceptionText]);
raise Exception.Create(ExceptionText);
end;
а в тексте программы так:
if not FileExists(FileName)
then RaiseException('FileNotFound');
P.S. кстати, подобный код обработается, сели использовать DLangExtensions?
palva (2007-08-17 11:30:00) [31]
> String в case - это программистский маразм.
Если вам нужен String в case используйте Basic.
DevilDevil (2007-08-17 11:29:00) [32]Плохиш, давайте не будем рассуждать о плюсах и минусах Delphi и Си.
В gamedev-е, к примеру, вопрос шаблонов актуален.
Плохиш (2007-08-17 11:21:00) [33]
> DevilDevil © (17.08.07 10:51) [14]
> > Плохиш © (17.08.07 10:47) [13]
>
> эта реплика к чему?
К желанию о вводе всяких странных и бесполезных операторов...
DevilDevil (2007-08-17 10:51:00) [34]> Плохиш © (17.08.07 10:47) [13]
эта реплика к чему?
Плохиш (2007-08-17 10:47:00) [35]
> DevilDevil © (17.08.07 10:17) [9]
> P.S. но лучше бы ввели оператор return
А ещё афтаматическое впуздыривание туда где часики и ещё много всего из вопросов ентой конференции... И вообще пусть сама проги клепает, до того как прогер подумает...
DrPass (2007-08-17 10:45:00) [36]
> DevilDevil © (17.08.07 10:15) [8]
> А как это всё может работать ?
Там замешана черная магия :)
> Там точно есть шаблоны или у меня сегодня конкретные глюки
> ?
Есть и шаблоны :)
На самом деле это просто очень хитрый препроцессор, который преобразует новые конструкции в понятный компилятору код. Те же шаблоны/дженерики - это ведь по сути макросы, хоть в Сях они реализованы на уровне компилятора.
Anatoly Podgoretsky (2007-08-17 10:43:00) [37]> DevilDevil (17.08.2007 10:17:09) [9]
Много ты странного хочешь, а то что уже есть освоил?
Вася Правильный (2007-08-17 10:35:00) [38]
> Для простых и перечисляемых
первое и так входит во второе
DevilDevil (2007-08-17 10:17:00) [39]P.S. но лучше бы ввели оператор
return
DevilDevil (2007-08-17 10:15:00) [40]> DrPass © (17.08.07 01:35) [6]
ЭЭЭЭЭЭЭ......... (разинув рот...)
А как это всё может работать ?
Начиная с какой версии Delphi ?
Там точно есть шаблоны или у меня сегодня конкретные глюки ?
Почему всё до сих пор официально не введено в Delphi Language ?