В чем разница в нескольких стилях для синтаксиса proc в tcl?

StackOverflow https://stackoverflow.com/questions/1611592

  •  05-07-2019
  •  | 
  •  

Вопрос

Могу ли я узнать, как синтаксис 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
}

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top