perl – reftype {}有什么用?
发布时间:2020-12-16 06:24:52 所属栏目:大数据 来源:网络整理
导读:我最近看到一些代码提醒我提出这个问题.最近,我看到了很多这样的事情: use Scalar::Util 'reftype';if ( reftype $some_ref eq reftype { } ) { ... } 在匿名hashref上调用reftype的目的是什么?为什么不说eq’HASH’? 解决方法 你现在可以将它与’HASH’
我最近看到一些代码提醒我提出这个问题.最近,我看到了很多这样的事情:
use Scalar::Util 'reftype'; if ( reftype $some_ref eq reftype { } ) { ... } 在匿名hashref上调用reftype的目的是什么?为什么不说eq’HASH’? 解决方法
你现在可以将它与’HASH’进行比较,因为这就是现在的回归.
但它可能并不总是如此. 一个很好的例子是他们对编译的正则表达式所做的改变.在较旧的Perls中,reftype是SCALAR.但是,从5.12开始(我相信)它现在是它自己的类型REGEXP.例: perl -MScalar :: Util = reftype -e“print reftype qr //”在5.8上给出SCALAR,但5.12上的相同给出了REGEXP. 你可以看一下this question的另一个应用程序我问了一会儿,除了它使用ref而不是reftype.原则是一样的. 简单地说,通过将它与reftype {}进行比较,他们保证现在和将来都没有(而且我认为这是杀手级功能)在你的程序中硬编码另一个字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |