Mik*_*ley 1 perl module packages
我有关于包,模块和语法的问题.当你在同一个文件中访问一个包时,我注意到你会使用像......这样的东西.
package test;
$testVar="This is a test";
#and to access it using..
package main;
print($test::testVar);
Run Code Online (Sandbox Code Playgroud)
或者只是......
package test;
print($testVar);
Run Code Online (Sandbox Code Playgroud)
然而,当我使用这个语法与模块一起使用,发送一个参数时,我应该从打印函数的开头省略$,但在上面我没有.我注意到它不起作用,我不知道为什么.我的材料没有澄清.
require module;
print(package::sub("argument"));
Run Code Online (Sandbox Code Playgroud)
这是为什么?.我糊涂了.
这里的美元符号是一个符号,表示命名变量是标量.
如果没有前面的package声明,则使用$var_name包含隐含的命名空间main,即它的缩写$main::var_name.在你的榜样,那就是你有的情况下,package main;首先,你需要规定的命名空间test,而不是main,那么$test::testVar是必需的.
对于函数调用,您不需要使用sigil.如果你这样做,你会使用ampersand(&),但在调用函数时使用&符号已经不再受许多程序员的青睐.*
和以前一样,sub_name()是...的缩短版本,main::sub_name()以同样的方式,不需要用来调用package::sub().
*参考使用&:
&函数名称允许您偏离通常的行为.这可能会导致细微的错误.| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |