tcl中proc语法的几种风格有什么区别?

发布于 2024-08-08 05:12:56 字数 343 浏览 2 评论 0原文

我可以知道 proc 的 sytanx 如何影响其工作。 范围(本地/全局)的上下文中

在- 内存消耗

- 参数传递

- proc

proc dosomething {} {
   #code here
}

proc dosomething { } {
    #code here
}

proc dosomething {
    #code here
}

proc dosomething args {
     #code here
}

proc ::dosomething {} {
     #code here
}

,等等......

May I know how sytanx of proc affets on its working.
in context of

-Memory consumption

-Argument passing

-scope of proc (local/global)

proc dosomething {} {
   #code here
}

proc dosomething { } {
    #code here
}

proc dosomething {
    #code here
}

proc dosomething args {
     #code here
}

proc ::dosomething {} {
     #code here
}

And so on.....

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

小姐丶请自重 2024-08-15 05:12:56

它们大多相同:

定义不带参数的命令

proc dosomething {} {
   #code here
}

与上面相同,定义不带参数的命令

proc dosomething { } {
    #code here
}

无效...应该抛出错误

proc dosomething {
    #code here
}

定义带可变数量参数的命令(即 varargs)

proc dosomething args {
     #code here
}

定义命令,以顶级命名空间,没有参数(在大多数情况下与前两个相同)

proc ::dosomething {} {
     #code here
}

顺便说一句,没有本地过程这样的东西。它们可以位于名称空间内,但所有过程都是全局的。

They are mostly the same:

Defines a command with no arguments

proc dosomething {} {
   #code here
}

Same as above, defines a command with no arguments

proc dosomething { } {
    #code here
}

Not valid... should throw an error

proc dosomething {
    #code here
}

Defines a command with a variable number of arguments (ie, varargs)

proc dosomething args {
     #code here
}

Defines a command, in the top level namespace, with no arguments (same as the first two in most cases)

proc ::dosomething {} {
     #code here
}

There's no such thing as a local proc, btw. They can be inside a namespace, but all procs are global.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文