10.2. Zestaw metod obiektu

Problem

Mamy do czynienia z nieznanym obiektem i chcemy dowiedzieć się, na wywołania jakich metod obiekt ten jest w stanie odpowiedzieć.

Rozwiązanie

Dla danego obiektu metoda Object#methods zwraca listę (tablicę) jego publicznych metod instancyjnych.

obj = Object.new obj.methods.sort # => ["==", "===", "=~", "__id__", "__send__", "class", "clone", "display", "dup", "eql?", "equal?", "extend", "freeze", "frozen?", "gem", "hash", "id", "inspect", "instance_eval", "instance_of?", "instance_variable_get", "instance_variable_set", "instance_variables", "is_a?", "kind_of?", "method", "methods", "nil?", "object_id", "pretty_print", "pretty_print_cycle", "pretty_print_inspect", "pretty_print_instance_variables", ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.