Что значит $abc[] ? ябс
Victor 20.08.2002 15:30
Я не понимаю, почему предполагается, что
после присваивания $abc[] в переменной $abc
должна быть пустая строка, а, скажем, не
пустая таблица или хэш. Тогда, если быть до конца
последовательным, классу void нужно
сделать методы классов table и hash.
Здесь я _не_ предлагаю так делать,
скорее высказываю сомнение в необходимости
методов length и pos для класса void.
Я, опять же, не понимаю, чем возмущен
уважаемый Constantine. В Парсере нет необходимости
объявлять используемые переменные и все переменные,
для которых специально не описано противное, глобальные.
В других языках это не так, например в Perl
приходится писать
use strict;
my $abc;
if( $x == 0 ){ $abc = 'ноль' }
else { $abc = 'не ноль' }
В Парсере же можно отложить присваивание переменной
значения до того момента, когда это значение будет известно.
Нет смысла присваивать переменной значение пустой строки
исключительно для того, чтобы к ней потом в цикле приписывать!
Парсер, как я думаю, по синтаксису ближе к фунциональным языкам,
чем алгоритмическим. Это своеобразный гибрид. И поэтому,
думаю, не нужно использовать стандартные приемы, работающие в
Си или Перле. Можно придумать лучше, скажем так, в духе
Парсера. И, то что в Парсере не работают программы
переведенные (а не переделанные) с других языков,
это вовсе не баг. Это значит - думать надо :)
Спасибо за внимание :)
p.s. ябс - я буду спорить :)