Skip to content

Latest commit

 

History

History
13 lines (10 loc) · 536 Bytes

File metadata and controls

13 lines (10 loc) · 536 Bytes

is_a?

The pseudo-method is_a? determines whether an expression's runtime type inherits or includes another type. For example:

a = 1
a.is_a?(Int32)          # => true
a.is_a?(String)         # => false
a.is_a?(Number)         # => true
a.is_a?(Int32 | String) # => true

It is a pseudo-method because the compiler knows about it and it can affect type information, as explained in if var.is_a?(...). Also, it accepts a type that must be known at compile-time as its argument.