📚

[Feature #20793] Object#is_a? に複数のクラスを渡せるようにする提案

2024/10/10に公開

[Feature #20793] I propose allowing multiple arguments to be passed to the .is_a? Method imply "OR" semantics:

  • 以下のように Object#is_a? に複数のクラスを渡せるようにする提案
# name が String か Symbol のインスタンスであれば true を返す
name.is_a? String, Symbol
  • 現状だと以下のような形で書く必要がある
[String, Symbol].include?(name.class)
  • これなんですがパターンマッチの in 演算子を利用すれば1発で判定できるんですよね
pp (42 in String | Symbol)      # => false
pp ("foo" in String | Symbol)   # => true
pp (:homu in String | Symbol)   # => true
GitHubで編集を提案

Discussion