私はハッシュの配列を持っています:
arr = [
{:key1=>"foo one bar", :key2=>"two", :key3=>"three"},
{:key1=>"four", :key2=>"five", :key3=>"six"},
{:key1=>"seven", :key2=>"eight", :key3=>"nine"}
]
:key1
検索して値を"replaced"
if :key
CONTAINS "one"に置き換えたいと思います。
結果の配列は次のようになります。
arr = [
{:key1=>"replaced", ;key2=>"two", :key3=>"three"},
{:key1=>"four", ;key2=>"five", :key3=>"six"},
{:key1=>"seven", ;key2=>"eight", :key3=>"nine"}
]
以前の投稿から使用してみましたが、「ハッシュ内の一致した値を別の値に置き換えるinclude?
」で返信されましたが、役に立ちませんでした。
これらは完全に一致します。
arr.each{|item| item[:key1] = "replaced" if item[:key1]=="one"}
意志として:
p arr.each {|x| x[:key1] = "replaced" if x.values_at(:key1) == "one"}
しかし、文字列用語を単に含める必要があります。