检查ruby Hash中的约束

时间:2013-12-16 19:43:29

标签: ruby

我创建了一个地图,并按以下方式从数据库中获取键的值

def data
 myMaps.map do |Mymap|
 {
  key1: value1,
  key2: value2,
  kay3: value3
 }
end 
end 

如果我必须检查值1是否为零,那么正确的语法是什么? 我只想在值不是nil的情况下分配键值对。

2 个答案:

答案 0 :(得分:1)

首先,您应该查看#map here的文档。仅仅从你的问题来看,你还不清楚你要做什么。您的方法将假设myMaps是一个数组,然后将哈希映射到每个值,具有三个键和三个值。我不是百分百肯定,但我认为你想要的更像是:

myMaps = { key2: value2, key3: value3 }
myMaps[key1] = value1 unless value1.nil?

答案 1 :(得分:0)

当值为nil时,为Hash键赋值的方法如下:

hash[:key] ||= "value"

我不确定如何正确回答你的问题,因为它还不太清楚。

首先,Ruby中没有Map数据类型。您可能称之为Map的实际上是一个哈希。但是,map没有Hash方法,仅针对Array,因此我假设myMapsArray,但没有证据表明此类变量是定义。