Victor Wagner wrote: > On 2008.10.03 at 13:41:45 +0300, Serhiy Storchaka wrote: >> Вот это было нужно делать с самого начала, уже при разработке языка. >> >> В тикле ведь та же самая проблема, что обсуждалась выше (для шелла). >> Из-за того, что eval и подобные делают concat своим аргументам перед >> парсингом. В результате простые примеры прокатывабт и так, а что-то >> посложнее и понадёжнее - приходится в [list ...] заворачивать. > > Она гораздо менее актуальна, так как всегда строго известно сколько > раундов подстановки будет. В shell это гораздо сложнее предсказать.
Но всё равно проблема есть. Проблема не в том, что подстановка будет выполнена не там, а что парсинг идёт уже после текстовой подстановки. >> Кстати, одна из базовы синтаксических конструкций лишняя. Variable >> substitution. Можно было бы для большей однородности использовать >> синтаксис command substitution, считая переменные командами, >> возвращающими своё значение (как в Forth-е для констант). > > Ну, это несколько осложнило бы жизнь. Все-таки запомнить правила, где > переменные это переменные, а команды - это команды проще, чем правила, > где переменные и команды это одно и тоже. Хотя на lisp люди пишут. Запомнить одну сущность проще, чем две. Кстати в тикле ведь уже есть несколько стандартных ?псевдопеременных?, синтаксис получения значения которых как у переменных, но значение меняется независимо от пользователя. Ведь это по сути системные команды. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

