我的目标是使用一个默认值的哈希值作为类常量。为了做到这一点,我认为我必须在一行中初始化一个Hash,作为一个具有预定义值和默认值的常量。然后通过添加值如下在Ruby中声明一个哈希值为常量,默认值为一行
在构造函数中:
MY_HASH = Hash.new(-1) MY_HASH[1] = 0 MY_HASH[2] = 42
通过增加值首次然后
根据Ruby的文档,我可以用两种方式设置的默认值稍后设置默认值:
MY_HASH = { 1=>0, 2=>42, } MY_HASH.default = -1
我试图做到这一点在这样一条线,但它不工作:
MY_HASH = {
1=>0,
2=>42,
}.default = -1
#It's the same as :
MY_HASH = -1
是否有申报与某行的默认值的哈希的方法吗?
皮埃尔,我不反对回答你选择。我会做出同样的选择(如果能够得到答案,我会做出相同的选择)。但是,您在发布问题不到20分钟后才做出选择。我建议将来你暂时停止选择,以免阻碍其他答案或将正在解答问题的其他人短路。许多人在等候至少几个小时之后才授予绿党。 –