Tcl 8.3 довольно старый, и рекомендуемый путь для обновления с TclPro (как я вижу, вы используете из комментариев) до чего-то менее ... допотопного ... это покупка Tcl Dev Kit от ActiveState, который является по крайней мере духовнымпреемник и имеет текущую поддержку.Никто больше не поддерживает TclPro.
Тем не менее…
Теперь с Tcl 8.3 эквивалентом функциональности оператора eq
была команда string equal
(в 8.4,они на самом деле компилируются в один и тот же байт-код (один является сокращением для другого).Это означает, что для этого:
if {"a" eq "b"} {...
вместо этого будет записано так:
if {[string equal "a" "b"]} {...
хотя, если у вас определенно есть нецелое число для одногоиз аргументов, вы можете просто использовать это:
if {"a" == "b"} {...
Существует механизм нет для псевдонимов операторов в любой версии Tcl (ну, конечно, не до 8.6, который является текущимразработка / бета-версия).
Захватывающая рука
Как говорит Брайан, вы можете написать свои собственные версии expr
(и if
и for
и while
), которые имеют эту расширенную функциональность, но это большая работа (т. е. месяцы, включая все тестирование, хотя вы, вероятно, можете использовать набор тестов из Tcl 8.4, чтобы помочь), и это просто так, что вы можете использовать версию Tcl, котораякак известно, устарели.(Я не знаю, есть ли в нем проблемы с безопасностью, и вы не можете заплатить мне достаточно, чтобы я попытался это выяснить.) Вам лучше заплатить за TDK.