【发布时间】:2016-10-31 14:21:18
【问题描述】:
我还是新手,所以请耐心等待。我有一个子字符串数组和一个包含子字符串和字符串的哈希。
substrings = ["sub1", "sub2", "sub3",...etc.]
hash = {"sub1"=>"string1", "sub2"=>"string2", "sub3"=>"string3"...}
例如,哈希值可能是"ount"=>"country"。我想通过从我的数组中拉出"ount" 来查找它,然后输出"country" 作为"ount" 键的值。我想对数组中的每个子字符串都这样做。
每个子字符串只有一个字符串。这两个列表都是按字母顺序排列的,因此在找到它时停止并移动到下一个是可以的。我可以找到项目的计数,但宁愿将其作为迭代进行,以便它是可重用的代码,如果这有意义的话。
【问题讨论】:
-
看看
Array#each和Hash#[]方法你应该有解决办法 -
您可能需要
hash.values_at(*substrings)。见Hash#values_at。如果hash = { "a"=> 1, "b"=> 2, "c"=> 3 }和str = ["b", "a"]然后hash.values_at(*str) #=> [2, 1]。这里hash.values_at(*str) = hash.values_at(*["b", "a"] = hash.values_at("b", "a")。顺便说一句,Ruby 没有“子字符串”的概念;只有“字符串”。您当然可以在特定字符串的上下文中引用“子字符串”来解释您想要做什么。 -
卡里,这看起来正是我想要的。谢谢!
标签: arrays ruby hash substring