Ruby : Chained Method

Hvis man ønsker, at kunne kalde flere af sine Methods på en gang, ligesom man f.eks. kan med string klassen.
Et eksempel fra string klassen kunne se således ud : “abc”.force_encoding(“UTF-8”).ascii_only?

Dette kaldes for en “chain method”, og keywordet for at en method bliver en “chained method” er at slutte metoden med ordet self.

Et lille kode eksempel:


class ChainMethodDemo
   def method1(var) 
       @var1 = var
       self
  end

  def method2(var) 
      @var2 = var
       self
   end

   def print
      puts “#{@var1}, #{@var2}”
   end

end
myDemo = ChainMethodDemo.new
myDemo.method1(“Var1”).method2(“Var2”).print


Kørsel: C:\tmp>ruby test.rb
Var1, Var2

Leave a Reply

Your email address will not be published. Required fields are marked *