В чем разница в нескольких стилях для синтаксиса proc в tcl? - PullRequest
0 голосов
/ 23 октября 2009

Могу ли я знать, как работает Sytanx Proc. в контексте

- Потребление памяти

- Передача аргумента

-сфера действия (локальная / глобальная)

proc dosomething {} {
   #code here
}

proc dosomething { } {
    #code here
}

proc dosomething {
    #code here
}

proc dosomething args {
     #code here
}

proc ::dosomething {} {
     #code here
}

и так далее .....

1 Ответ

5 голосов
/ 23 октября 2009

Они в основном одинаковы:

Определяет команду без аргументов

proc dosomething {} {
   #code here
}

То же, что и выше, определяет команду без аргументов

proc dosomething { } {
    #code here
}

Недействительно ... должно выдать ошибку

proc dosomething {
    #code here
}

Определяет команду с переменным количеством аргументов (т. Е. Varargs)

proc dosomething args {
     #code here
}

Определяет команду в пространстве имен верхнего уровня без аргументов (в большинстве случаев аналогична первым двум)

proc ::dosomething {} {
     #code here
}

Нет такой вещи, как местный процесс, кстати. Они могут находиться внутри пространства имен, но все процессы являются глобальными.

...