Edycja: używam Ruby wersję 2.0.0Masz wątpliwości dotyczące "respond_to?" Metoda
Mam następujący kod w pliku example.rb
def say_hello
puts 'hi'
end
puts respond_to?(:say_hello)
say_hello
Po uruchomieniu tego kodu, wyjście:
false
hi
Jestem zdezorientowany, dlaczego zwracana jest wartość false dla "respond_to?" kiedy mogę korzystać z tej metody.
"Odpowiedź"? Metoda wydaje się działać w ten sposób choć:
class Person
def say_bye
puts 'bye'
end
end
mike = Person.new
puts mike.respond_to?(:say_bye)
mike.say_bye
wyjście jest: „respond_to”
true
bye
Czy ktoś ma żadnego wglądu, dlaczego zwraca false w pierwszym przypadku?
ciekawe, wystarczy? uruchomiłem to i zadziałało dla mnie. Czy próbowałeś być bardziej konkretny, nazywając to na własnej skórze? 'puts self.respond_to? (: say_hello)' – AdamT
self.respond_to (: say_hello) zwraca wartość false. – MichaelHajuddah
Jaką wersję Ruby używasz? – Shoe