0

我有一个嵌套哈希,例如:-

profile:
  status:                               
     nil: 3    
     x: 2   

  priority:
     x: 2
     y: 2

有没有办法设置状态的默认值,例如:-

profile:
  status:
    default:0
    nil: 3
    x:2

我不想要这样的解决方案或任何其他方法:-

h = Hash.new("Go Fish")
h.default = "Go fish"

因为我有一个 yml 文件,其中加载了配置哈希和其他映射哈希,例如上面的状态、优先级映射。所以我的脚本从这些 yml 中提取配置以及其他哈希值并使用它们。现在对于状态和优先级映射,我需要这个状态和优先级子哈希来返回一个值,如果它在这个哈希中没有找到任何匹配的符号(即,如果不存在这样的映射)。我可以使用其他方法在代码中设置该默认值。但重点是我希望任何外行编辑这个 yml 并能够运行我的脚本。因此,我希望在此处设置默认值。

4

1 回答 1

2

由于似乎没有人想出替代方案,所以现在我采用了这种方法。

 profile:
  status:
   default: 'x' number
   one: 1
   two: 2
   three: 3

在代码中

  profile['status'].default=priority['status']['default']
于 2012-08-22T21:34:56.883 回答