Nel codice seguente, il metodo roar
non è definito nella classe Lion
, ma può ancora essere chiamato utilizzando method_missing
.Quando utilizzare `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!!!
In quali situazioni e come si usa questo method_missing
? Ed è sicuro da usare?
Metodo Ghost, di solito uno strumento di metaprogrammazione, immagino. Fai attenzione all'efficienza. Il metodo Ghost è lento. – halfelf
Penso che tu intenda "classe Lion" piuttosto che "Class Lion". –
@EricWalker: grazie, errore di battitura. – tokhi