大佬教程收集整理的这篇文章主要介绍了你可以在Perl中引用一个内置函数吗?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
$shift_ref = $your_magic_syntax_here;
与用户定义的子文件相同:
sub test { ... } $test_ref = \&test;
我尝试过以下操作,这些都不行:
\&shift \&CORE::shift \&{'shift'} \&{'CORE::shift'}
你的答案可以包括XS,如果需要,但我不喜欢.
澄清:我正在寻找一个通用解决方案,可以从任何内置函数获取功能完整的代码参考.然后,该代码可以传递给任何更高阶的函数,就像对用户定义的子代的引用一样.到目前为止,这是不可能的共识,任何人都不同意?
再加上这个问题的一部分“你的答案可以包括XS,但我不喜欢”.
从XS调用内置函数是非常困难的,因为内置函数被设置为假定它们作为编译的optree的一部分运行,并且设置了一些全局变量.通常,调用内置函数本身所使用的一些基础函数要容易得多,虽然并不总是有这样的功能,
buffer = sv_2mortal(newSVpvf("(caller(%d))[3]",(int) framE)); caller = eval_pv(SvPV_nolen(buffer),1);
(从XS做一个字符串eval,而不是通过直接调用pp_caller所需的环).
以上是大佬教程为你收集整理的你可以在Perl中引用一个内置函数吗?全部内容,希望文章能够帮你解决你可以在Perl中引用一个内置函数吗?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。