Active Supportで拡張されている使いやすいメソッド

2021.01.22

in?

include?的なもの

ただinclude?とはレシーバと引数の関係が逆

> 1.in?([1,2,3])
=> true
> 5.in?([1,2,3])
=> false

exclude?

include?の逆

> [1,2,3].exclude?(5)
=> true
> [1,2,3].exclude?(1)
=> false

many?

collection.size? > 1の短縮形

> tasks = []
=> []
> tasks.many?
=> false
> tasks = ["AAA", "BBB"]
> ["AAA", "BBB"]
=> tasks.many?
=> true

便利な使い方

ブロックを渡してそれが配列内に2つ以上存在するかを調べることができる

> tasks = ["AAA", "BBB", "CCC"]
=> ["AAA", "BBB", "CCC"]
> tasks.many? { |t| t == "CCC" }
=> false

参考

https://railsguides.jp/active_support_core_extensions.html