0

我需要一个帮助。

[1,2][-1] = 44
#=> 44

上面的很好。但我正在寻找一个直接函数,它将对任何数组的指定索引进行此类更新,并将返回整个修改后的数组。是否可以?那里有任何内置功能吗?

4

1 回答 1

1

您可以使用以下方法返回原始对象tap

[1,2].tap { |array| array[-1] = 44 }
=> [1,44]

但是,如果您要走那么远,则可能有更漂亮的方法可以做到这一点。例如

class Array
  def set_item index, value
    self[index] = value
    self
  end
end

[1,2].set_item( -1, 44 )
=> [1,44]
于 2013-04-01T18:57:02.767 回答