Techioz Blog

配列に要素が存在しない場合は要素を追加します

概要

Rubyクラスがあります

class MyClass
  attr_writer :item1, :item2
end

my_array = get_array_of_my_class() #my_array is an array of MyClass
unique_array_of_item1 = []

MyClass#item1 を unique_array_of_item1 にプッシュしたいのですが、これは unique_array_of_item1 にその item1 がまだ含まれていない場合に限ります。私が知っている簡単な解決策があります。my_array を反復処理して、unique_array_of_item1 に現在の item1 がすでに含まれているかどうかを確認するだけです。

より効率的な解決策はありますか?

解決策

|を使用できます(連合):

my_array | [item]

そして、my_array を適切に更新するには、次のようにします。

my_array |= [item]