在 Perl 中,特殊标记如__PACKAGE__
, __SUB__
, __FILE__
, __LINE__
存在并可从脚本中获取。
我可能会得到的价值__PACKAGE__
from XS
as HvNAME( PL_currstash )
, 我想。
但如何访问别人呢?
是否有特殊的接口可以访问所有这些XS
? Like: CTX->package
, CTX->sub
etc.
您可以在其中一一查找toke.c
对于编译时值:
-
__PACKAGE__
=> HvNAME(PL_curstash)
or PL_curstname
-
__FILE__
=> CopFILE(PL_curcop)
(在编译时)
-
__LINE__
=> CopLINE(PL_curcop)
(在编译时)
-
__SUB__
=> PL_compcv
如果您在运行时需要它们,请查看上下文中可用的各种数据字段caller_cx
和当前子(cv
)。没有像 parrot 或 perl6 那样传递上下文结构,而是一堆活动上下文块。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)