gpt4 book ai didi

perl - 如果我不改变值,[@{$myArray}] 是否等同于 Perl 中的 $myArray?

转载 作者:行者123 更新时间:2023-12-04 10:37:16 27 4
gpt4 key购买 nike

我有一些 Perl 代码:

{
key => [@{$myArray}]
}

我想将其重构为:
{
key => $myArray
}

如果我不改变 key 指向的值,这两个在语义上是否等效? ?

最佳答案

他们的行为不同时

  • @{ $h->{key} }被改变。 (你提到的区别)
  • @$array被改变。
  • $array不能作为数组取消引用(例如 $array 是一个字符串)。
  • $array是一个重载 @{} 的对象.
  • @$array 的元素是大的或神奇的。

    第一个片段在创建哈希时会复制元素,因此它会更慢,并且会使用更多内存。第二个片段不会复制数组或元素的任何神奇方面(例如,如果数组是 :shared 数组,或绑定(bind)到 Tie::File 的数组)。
  • 关于perl - 如果我不改变值,[@{$myArray}] 是否等同于 Perl 中的 $myArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28572190/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com