加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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 {}进行比较,他们保证现在和将来都没有(而且我认为这是杀手级功能)在你的程序中硬编码另一个字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读