Ruby on rails 哈希混合值类型比较
我试图将一个变量与散列中的一个值进行比较,但是可以使用Ruby on rails 哈希混合值类型比较,ruby-on-rails,ruby,hash,Ruby On Rails,Ruby,Hash,我试图将一个变量与散列中的一个值进行比较,但是可以使用Numeric和String参数来查询散列 ED_CONTRIBUTIONS = { 1 => { db_code: 1, name: 'Provision of housing and transport', abbreviation: 'Provisions', group: 'Social development contributions' } } 我使用这样的方法进行比较: def f
Numeric
和String
参数来查询散列
ED_CONTRIBUTIONS = {
1 => {
db_code: 1,
name: 'Provision of housing and transport',
abbreviation: 'Provisions',
group: 'Social development contributions'
}
}
我使用这样的方法进行比较:
def find_item(field, value)
value.downcase if value.is_a? String
applicable_items.find { |k,v| v[field] == value}.andand.last || {}
end
但有时
v[field]
是db\u代码,因此是一个数字。如果v[field]
是一个字符串,那么如何使其向下装箱?或者更确切地说,在这种情况下如何检查哈希值的状态。您可以将其解析为字符串:
value.to_.s.downcase
然后您不需要调查值是否是字符串您可以检查它是否是这样的字符串v[field]?字符串
,如果是,则将其降格。
或者你可以直接v[field].to_s.downcase
it而不检查变量类型。nice我不知道为什么我不考虑只比较转换后的字符串。男人,那是一个金发的时刻是啊,我现在要出去打我自己,这是一个如此简单的解决办法