这里的含义是什么意思?

ask*_*ker 4 perl

$self->[UTF8] = $conf->{utf8};
Run Code Online (Sandbox Code Playgroud)

从未见过这样的代码.

[]这里的意思是什么?

fri*_*edo 11

在这种情况下,对象$self被实现为有福的数组引用,而不是使用有福的哈希引用的更常见的方法.语法$foo->[42]访问数组引用中的单个元素.据推测,UTF8是一个常量,它将数字索引返回到数组中.

当人们确信(通常是错误的)对象属性的哈希查找导致显着的开销并试图过早地优化他们的代码时,你会看到这个习语.

  • 鉴于名称`$ self`,它可能是*祝福,但它可能只是一个普通的被诅咒的数组引用. (3认同)
  • Axeman,这是我的观点.数组查找将比散列查找更快,但这不是代码中的瓶颈所在.因此,通常最好优化清晰度并使用标准习语而不是巧妙的技巧,这些技巧实际上无法帮助您的程序速度. (2认同)