Perl   发布时间:2022-04-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了你可以在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,请注明来意。