如何根据索引内联修改数组中的单个元素?

And*_*vey 1 ruby ruby-on-rails

例如,我有 array = [1,2,3,4,5]

我想用索引4更改元素的值.

我可以通过多个步骤:

> array[4] = 'new value'
=> "new value"
> array
=> [1,2,3,4, "new value"]
Run Code Online (Sandbox Code Playgroud)

但有没有办法在线进行此操作?就像是

array.map! { |x| x == 5 ? "new value" : x }
Run Code Online (Sandbox Code Playgroud)

但使用索引号而不是值.

我已经四处搜索并阅读了ruby-docs,但我不确定我应该寻找什么!

apn*_*ing 5

array.tap{ |ar| ar[4] = "new value" } 
Run Code Online (Sandbox Code Playgroud)