LINUX.ORG.RU

История изменений

Исправление den73, (текущая версия) :

Я уже написал: любая операция над строками в то же время является также операцией над списками, которые эти строки представляют. И даже над числами, которые они представляют. Операция может быть осмысленной и нет. Кавычки, если их рассматривать как операцию над списками, выглядят как конкатенация списков, считая атом за список из одного элемента.

Т.е. кавычки сразу делают две вещи: 1. Подстановку строк. 2. Конкатенация списков.

Что они делают, зависит от того, как мы воспринимаем результат. Такая вот философия.

Теперь такой вопрос: а если бы кавычки были определены как

>set v {b c}
>"a $v"
a {b c}
>"a {*}$v"
a b c

то что было бы в этом плохого, кроме того, что это не так как в shell? Shell вообще, на мой взгляд, отнюдь не образец для подражания.

Исходная версия den73, :

Я уже написал: любая операция над строками в то же время является также операцией над списками, которую эти строки представляют. И даже над числами, которые они представляют. Операция может быть осмысленной и нет. Кавычки, если их рассматривать как операцию над списками, выглядят как конкатенация списков, считая атом за список из одного элемента.

Теперь такой вопрос: а если бы кавычки были определены как

>set v {b c}
>"a $v"
a {b c}
>"a {*}$v"
a b c

то что было бы в этом плохого, кроме того, что это не так как в shell? Shell вообще, на мой взгляд, отнюдь не образец для подражания.