Map an array modifying only elements matching a certain condition

前端 未结 9 2190
梦如初夏
梦如初夏 2021-02-05 09:07

In Ruby, what is the most expressive way to map an array in such a way that certain elements are modified and the others left untouched?

This is a straight-forw

9条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2021-02-05 09:29

    old_a.map! { |a| a == "b" ? a + "!" : a }
    

    gives

    => ["a", "b!", "c"]
    

    map! modifies the receiver in place, so old_a is now that returned array.

提交回复
热议问题