struct

Spectator::Anything

Inherits Struct < Value < Object

Constructors

Instance methods

==(other)

Returns true if this struct is equal to other.

Both structs' instance vars are compared to each other. Thus, two structs are considered equal if each of their instance variables are equal. Subclasses should override this method to provide specific equality semantics.

struct Point
  def initialize(@x : Int32, @y : Int32)
  end
end

p1 = Point.new 1, 2
p2 = Point.new 1, 2
p3 = Point.new 3, 4

p1 == p2 # => true
p1 == p3 # => false
Source
===(other)

Case equality.

The === method is used in a case ... when ... end expression.

For example, this code:

case value
when x
  # something when x
when y
  # something when y
end

Is equivalent to this code:

if x === value
  # something when x
elsif y === value
  # something when y
end

Object simply implements === by invoking ==, but subclasses (notably Regex) can override it to provide meaningful case-equality semantics.

Source
=~(other)

Pattern match.

Overridden by descendants (notably Regex and String) to provide meaningful pattern-match semantics.

Source
initialize
Source