astux7/ruby_method.md

– udostępnia metody modułu dla instancji klasy. Pobiera wszystkie metody z innego modułu i włącza je do aktualnego modułu. Jest to rzecz na poziomie języka. Metoda include jest podstawowym sposobem „rozszerzania” klas za pomocą innych modułów (zwykle określanych jako mix-ins).

module Afterendclass Example include AfterendExample.ancestors# => 

– uruchamia kolejny plik. Również śledzi, co było wymagane w przeszłości i nie będzie wymagać tego samego pliku dwa razy.Dla bibliotek importu głównie.

– pozwala załadować plik, który jest względny do pliku zawierającego instrukcję require_relative.Na przykład, jeśli masz klasy rspec w katalogu /spec i dane dla nich w katalogu thespec/data, to możesz użyć linii this w testach:

require_relative "data/test"

– dla kodu execute.

– doda rozszerzoną klasę do przodków singleton klasy rozszerzającej. Other words extend mix the module’s functionality into classand makes these methods available to the class itself.

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

– służy do wywoływania metody overridden przez metodę nadrzędną.using super will call the same method, but as defined inthe superclass and give you the result.

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

– wywołuje Module.prepend_features na każdym parametrze w odwrotnej kolejności.

module Beforeendclass Example prepend BeforeendExample.ancestors# => 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.