如何在 Perl 中创建嵌套哈希作为常量?
我想要在 Perl 中执行与以下 Ruby 代码等效的操作:
class Foo
MY_CONST = {
'foo' => 'bar',
'baz' => {
'innerbar' => 'bleh'
},
}
def some_method
a = MY_CONST[ 'foo' ]
end
end
# In some other file which uses Foo...
b = Foo::MY_CONST[ 'baz' ][ 'innerbar' ]
也就是说,我只想声明一个常量、嵌套哈希结构,以便在类中和外部使用。 如何?
I want to do, in Perl, the equivalent of the following Ruby code:
class Foo
MY_CONST = {
'foo' => 'bar',
'baz' => {
'innerbar' => 'bleh'
},
}
def some_method
a = MY_CONST[ 'foo' ]
end
end
# In some other file which uses Foo...
b = Foo::MY_CONST[ 'baz' ][ 'innerbar' ]
That is, I just want to declare a constant, nested hash structure for use both in the class and outside. How to?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您也可以完全使用内置函数来完成此操作:
You can also do this entirely with builtins:
您可以使用 Hash::Util 模块来锁定和解锁哈希(键、值, 或两者)。
然后在其他一些文件中:
You can use the Hash::Util module to lock and unlock a hash (keys, values, or both).
Then in some other file:
请参阅只读:
输出:
See Readonly:
Output:
这是 Perl 中哈希值的指南。 哈希的哈希
Here is a guide to hashes in perl. Hash of Hashes