Я просто собираюсь использовать Perl в качестве сравнения здесь:
$foo = 5;
print $foo;
устанавливает переменную $ foo
- 5, а затем печатает содержимое переменной (обратите внимание, что $ FOO
всегда доступна как $ foo
).
В TCL:
set foo 5
puts $foo
делает то же самое, что и аналог PERL.
Почему TCL не устанавливает переменные с помощью «$», но нуждается в «$» для доступа к переменной?
Почему это верно для процедур тоже (например Proc Bar {спам-яйца} {...}
)?
Для меня код TCL выглядит , как это выглядит , как это (в псевдокоде):
"foo" = 5 # Setting a string?
puts $foo # "$foo" is not defined.
(мои комментарии только отражают то, что, кажется, происходит, не то, что происходит).
Еще один момент, которую я хочу добавить, это ясность этого:
set foo foo
Да, я всегда мог бы сделать Set Foo «Foo»
, но не Установить $ Foo Foo
Более последовательно?
Из того, что я знаю, «foo» может быть переменной или строкой, в зависимости от ситуации, как видно в моем последнем примере ( Set Foo foo
= Установите строку VAR
), но я не получаю этот синтаксис (может быть, потому что я привык к питону ...)