Tag: map

映射数组仅修改与特定条件匹配的元素

在Ruby中,以某种方式映射数组的最具表现力的方式是什么?某些元素被修改而其他元素保持不变 ? 这是一种直截了当的方式: old_a = [“a”, “b”, “c”] # [“a”, “b”, “c”] new_a = old_a.map { |x| (x==”b” ? x+”!” : x) } # [“a”, “b!”, “c”] 当然,如果不够的话,省略“单独”的情况: new_a = old_a.map { |x| x+”!” if x==”b” } # [nil, “b!”, nil] 我想要的是这样的: new_a = old_a.map_modifying_only_elements_where (Proc.new {|x| x == “b”}) do |y| y + “!” […]