kill007
kill007

Reputation: 381

Need some nice explanation on these code snippets - Ruby

The First One

module A
  include B
  def initialize
     -----
  end
  def x
    ---------
    self << Y.new     # I need some explanation on this please
    --------
  end
end

The Second One is

class H
  include G
  include F

  EE = [.,.,.,]
  def << k     # I need some explanation here
    k.id?
    -------
  end
end

Can some one please help me out! I am a newbie to the whole kind of programming

Upvotes: 0

Views: 100

Answers (1)

diedthreetimes
diedthreetimes

Reputation: 4115

In both instances the << is being used as an operator.

self << Y.new is equivalent to self.send(:'<<', Y.new) so for instance if self was an Array, this would push Y.new into it.

In the second example you are defining the operator << and k is the argument .

Upvotes: 1

Related Questions