Ruby 4.1 リファレンスマニュアル

instance method Binding#implicit_parameter_defined?

implicit_parameter_defined?(symbol) -> boolRuby 4.0 から[permalink][rdoc][edit]

引数 symbol で指定した番号指定パラメータまたは it パラメータが self のスコープで定義されている場合に true を、そうでない場合に false を返します。

定義されていない場合に false を返すのは、symbol が番号指定パラメータまたは it パラメータの名前である場合だけです。それ以外の名前を指定した場合は NameError が発生します。

[PARAM] symbol:
番号指定パラメータまたは it パラメータの名前を Symbol で指定します。
[EXCEPTION] NameError:
指定した名前が番号指定パラメータでも it パラメータでもない場合に発生します。
[42].each do
  it
  p binding.implicit_parameter_defined?(:it) # => true
  p binding.implicit_parameter_defined?(:_1) # => false
end

{ k: 42 }.each do
  _2
  p binding.implicit_parameter_defined?(:_1) # => true
  p binding.implicit_parameter_defined?(:_3) # => false
  p binding.implicit_parameter_defined?(:it) # => false
end

[SEE_ALSO] Binding#implicit_parameters, Binding#implicit_parameter_get