Извините за вопрос для начинающих: я не могу понять эти символы в начале объявлений списков Tcl, занимающих несколько строк. Как в конце первой строки этого фрагмента кода:
set word_rx {(?x)
[0-9]+
| [a-z]+
| [a-z]+'[a-z]+
}
Я также видел примеры использования там амперсанда. Что они означают и есть ли еще?
Это регулярное выражение, а не что-то, что можно рассматривать как список. Каналы — это обычный оператор изменения регулярных выражений. Может быть, вас сбивает с толку опция расширенный синтаксис?
(?x)
[0-9]+
| [a-z]+
| [a-z]+'[a-z]+
такой же как
[0-9]+|[a-z]+|[a-z]+'[a-z]+
но более читабелен, поскольку чередования разбиты на несколько строк.
Фигурные скобки , конечно, просто обрабатывают то, что в них содержится, как обычный текст, поэтому содержимое скобок не подлежит подстановке команд.
Меня смутила последовательность встроенных опций в начале ARE, но теперь я понял это, прочитав страницу документации, на которую вы предоставили ссылку. Спасибо.