[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: TCL list substitution



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 люди пишут.

Запомнить одну сущность проще, чем две. Кстати в тикле ведь уже есть
несколько стандартных ?псевдопеременных?, синтаксис получения значения
которых как у переменных, но значение меняется независимо от пользователя.
Ведь это по сути системные команды.



Reply to: