ブログ

読んで思い出す。忘れるために書く

Array#include? と Object#in? をつかう

まとめ

「だれがどうしたのか」「どうしたのはだれか」みたいな文の主従の順序・逆転は些細なものかもしれない

それでも、コードも文章の1つ、読み易しいコードを書いていきたい

include?in?

たとえば、普段であれば次のようなコードを書くと思う

# とくに意味のない例示コード

base_array = %i[a b c]
target = :a

base_array.include?(target)
# => true

また、 target が配列だとか複数ある場合には、select など Enumerable なメソッドを使うので、いま注目している部分、「target がどう使われるのか」という部分

そこから注意を逸らさない文面を書きたい

require 'active_support'
require 'active_support/core_ext'

base_array = %i[a b c]

targets = %i[a b c x y z]

select_results =
  targets.select { |target| target.in?(base_array) }
  # => [:a, :b, :c]

Links