История изменений
Исправление 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 вообще, на мой взгляд, отнюдь не образец для подражания.