astux7/ruby_method.md

– gör modulens metoder tillgängliga för instansen av en klass.Den tar alla metoder från en annan modul och inkluderar dem i den aktuella modulen. Detta är en sak på språknivå. Inkluderingsmetoden är det primära sättet att ”utöka” klasser med andra moduler (vanligtvis kallat mix-ins).

module Afterendclass Example include AfterendExample.ancestors# => 

– kör en annan fil. Spårar också vad du har krävt tidigare och kräver inte samma fil två gånger.För importbibliotek mestadels.

– gör det möjligt att ladda en fil som är relativ till den fil som innehåller require_relative-angivelsen.Om du till exempel har rspec-klasser i katalogen /spec och data för dem i katalogen thpec/data kan du använda följande rad i testfallet:

require_relative "data/test"

– för att utföra kod.

– lägger till den utökade klassen till förfäderna till den utökande klassens singletonklass. Med andra ord, extend blandar modulens funktionalitet i klassen och gör dessa metoder tillgängliga för klassen själv.

module After def module_method puts "Module Method invoked" endendclass Exampleendex = Example.newex.extend Afterex.module_method# => Module Method invoked

– används för att överordna metodanrop av den överordnade metoden.Användning av super kommer att anropa samma metod, men som den är definierad i superklassen, och ge dig resultatet.

class Animal def move "I can move" endendclass Bird def move super + "by flying" endendputs Animal.new.move# => I can moveputs Bird.new.move# => I can move by flying

– anropar Module.prepend_features på varje parameter i omvänd ordning.

module Beforeendclass Example prepend BeforeendExample.ancestors# => 

Lämna ett svar

Din e-postadress kommer inte publiceras.