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

如果我没有改变值,那么[@ {$myArray}]是否相当于Perl中的$myArra

发布时间:2020-12-15 21:53:49 所属栏目:大数据 来源:网络整理
导读:我有一些Perl代码: { key = [@{$myArray}]} 我想重构一遍: { key = $myArray} 如果我没有改变key指向的值,那两个语义是否等价? 解决方法 他们的行为方式不同 @ {$h- {key}}已更改. (你提到的差异) @ $数组已更改. $array不能作为数组解除引用(例如$array
我有一些Perl代码:
{
  key => [@{$myArray}]
}

我想重构一遍:

{
  key => $myArray
}

如果我没有改变key指向的值,那两个语义是否等价?

解决方法

他们的行为方式不同

> @ {$h-> {key}}已更改. (你提到的差异)
> @ $数组已更改.
> $array不能作为数组解除引用(例如$array是一个字符串).
> $array是一个重载@ {}的对象.
> @ $数组的元素很大或很神奇.

第一个片段在创建哈希时创建元素的副本,因此它会更慢,并且它将使用更多内存.数组或元素的任何神奇方面(例如,如果数组是:共享数组,或绑定到Tie :: File的数组)将不会被第二个片段复制.

(编辑:李大同)

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

    推荐文章
      热点阅读