用于查找哈希值的Ruby数组

时间:2016-06-29 03:49:16

标签: arrays ruby hash substring

我还是新手,所以请耐心等待。我有一个子串数组和一个包含子串和字符串的哈希。

substrings = ["sub1", "sub2", "sub3",...etc.]
hash = {"sub1"=>"string1", "sub2"=>"string2", "sub3"=>"string3"...}

例如,哈希值可能是"ount"=>"country"。我想从我的数组中提取"ount",然后输出"country"作为"ount"键的值来查找。我想为数组中的每个子字符串执行此操作。

每个子字符串只有一个字符串。这两个列表都是按字母顺序排列的,因此在找到它们时停止并移动到下一个列表是可以的。我可以找到项目的计数,但宁愿把它做​​为迭代,所以它是可重用的代码,如果这是有道理的。

1 个答案:

答案 0 :(得分:-1)

substrings = ["sub1", "sub2", "sub3"]
hash = {"sub1"=>"string1", "sub2"=>"string2", "sub3"=>"string3"}
  

如果要在子字符串中打印每个元素的值

substrings.each do |str|
    p "value of #{str} is #{hash[str]}"  if hash.has_key?(str)
end

#output
"value of sub1 is string1"
"value of sub2 is string2"
"value of sub3 is string3"
  

如果要打印特定给定子字符串的值

def find_value(str,hash)    
    "value of #{str} is #{hash[str]}"  if hash.has_key?(str)
end

p find_value("sub1",hash)

#Output
"value of sub1 is string1"