В чем разница в нескольких стилях для синтаксиса proc в tcl?
Вопрос
Могу ли я узнать, как синтаксис proc влияет на его работу. в контексте
-потребление памяти
- Передача аргумента
-область процесса (локальная / глобальная)
proc dosomething {} {
#code here
}
proc dosomething { } {
#code here
}
proc dosomething {
#code here
}
proc dosomething args {
#code here
}
proc ::dosomething {} {
#code here
}
И так далее .....
Решение
Они в основном одинаковы:
Определяет команду без аргументов
proc dosomething {} {
#code here
}
То же, что и выше, определяет команду без аргументов
proc dosomething { } {
#code here
}
Недействительно ... должно выдать ошибку
proc dosomething {
#code here
}
Определяет команду с переменным количеством аргументов (т.е. varargs)
proc dosomething args {
#code here
}
Определяет команду в пространстве имен верхнего уровня без аргументов (в большинстве случаев то же, что и первые два)
proc ::dosomething {} {
#code here
}
Между прочим, нет такой вещи, как местный процесс. Они могут находиться внутри пространства имен, но все процессы являются глобальными.
Не связан с StackOverflow