LINUX.ORG.RU

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

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

пусть з = 23
начало-строки $з 1

Что тут сделано? Мы записали слово {23} в переменную з. Должно ли это слово «отипиться» в момент записи? В тикле, ясное дело, нет, т.к. там вообще только строки. Я бы, наверное, заставил его отипиться в строку в момент присваивания. Т.е. нетипизированные слова - это только сахар для литералов, не более. А внутри мы будем больше похожи на лишпик.

Дальше, вопрос,

начало-строки з 1
// или 
начало-строки $з 1
// ?
Для интерактивного использования выбор очевиден. Для скриптов - нет. Можно сделать так, что само слово начало-строки будет в своей сигнатуре говорить, какие из своих аргументов оно использует как литерал, а какие - как имя переменной. Но стрёмно это. Лично я в таких ситуациях путаюсь. А они есть и в лиспе, и в том же тикле тоже, с теми же массивами или словарями - где-то нужна $, а где-то её быть не должно. Запомнить можно, но слегка цепляет.

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

пусть з = 23
начало-строки $з 1

Что тут сделано? Мы записали слово {23} в переменную з. Должно ли это слово «отипиться» в момент записи? В тикле, ясное дело, нет, т.к. там вообще только строки. Я бы, наверное, заставил его отипиться в строку в момент присваивания. Т.е. нетипизированные слова - это только сахар для литералов, не более. А внутри мы будем больше похожи на лишпик.

Дальше, вопрос,

начало-строки з 1
// или 
начало-строки $з 1
Для интерактивного использования выбор очевиден. Для скриптов - нет. Можно сделать так, что само слово начало-строки будет в своей сигнатуре говорить, какие из своих аргументов оно использует как литерал, а какие - как имя переменной. Но стрёмно это. Лично я в таких ситуациях путаюсь. А они есть и в лиспе, и в том же тикле тоже, с теми же массивами или словарями - где-то нужна $, а где-то её быть не должно. Запомнить можно, но слегка цепляет.