Ruby_Array_45
この記事は、以下のドキュメントを改変(自分なりに整理)して利用しています。
class Array (Ruby 3.1 リファレンスマニュアル)
インスタンスメソッド
rassoc(obj) -> Array | nil
irb(main):001:0> arr = [['a', 1], ['b', 2], ['c', 2]] => [["a", 1], ["b", 2], ["c", 2]] irb(main):002:0> arr.rassoc(2) => ["b", 2] irb(main):003:0> arr.rassoc(3) => nil # memo # 一番最初に見つかったものを返すので、['c', 2]は返されない
irb(main):001:0> arr = [['a', 1], ['b', 2], ['c', 2]] => [["a", 1], ["b", 2], ["c", 2]] irb(main):002:0> obj = 2 => 2 # rassocを使わないとこうなるのかな? irb(main):003:0> arr.select { |v| v[1] == obj }[0] => ["b", 2] # 使うとすっきりする。パッと見てrassocってどういうメソッドだっけっていう感覚ではある irb(main):004:0> arr.rassoc(obj) => ["b", 2]
メモ
- latestドキュメントへのリンクにしてたらいつの間にかver3.1になってた。バージョン指定のドキュメントリンクにしておけばよかった・・・けどまあいっか。
- rassocを見てぱっとどういう挙動かわかるRubyistはどのくらいいるんやろうか
- assocはassociateの意味?rassocはreverse associateの意味?