W poniższym kodzie metoda roar
nie jest zdefiniowana w klasie Lion
, ale nadal może być wywołana przy użyciu method_missing
.Kiedy używać `method_missing`
class Lion
def method_missing(name, *args)
puts "Lion will #{name}: #{args[0]}"
end
end
lion = Lion.new
lion.roar("ROAR!!!") # => Lion will roar: ROAR!!!
W jakich sytuacjach iw jaki sposób należy korzystać z tej method_missing
? I czy jest bezpieczny w użyciu?
Metoda ducha, zwykle narzędzie do metaprogramowania, tak myślę. Uważaj na wydajność. Metoda Ghosta jest powolna. – halfelf
Myślę, że masz na myśli "klasę Lwa" zamiast "Klasy Lwa". –
@EricWalker: dzięki, wpisując błąd. – tokhi