Ruby/Методика самопознания: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 446:
 
=== Можно ли вызвать этот метод? ===
Для проверки этого используется метод ''.respond_to?''.
Этот метод возвращает, отвечает ли класс на вызов переданного в ''.respond_to?'' параметры(имени метода)
По аналогии с предыдущим примером
<source lang="ruby">
class Sample
def method1
puts '1st method'
end
def method2
'2nd method'
end
end
a = Sample.new
 
puts Sample.respond_to?(:method1)
puts a.respond_to?(:method1)
</source>
вернет
<source lang="ruby">
false
true
</source>
 
так же возможен вызов, когда методу передаются не символы, а стока - имя проверяемого метода:
<source lang="ruby">
puts Sample.respond_to?(:method1)
puts a.respond_to?(:method1)
</source>
 
{{BookCat}}