Вы получаете пустой массив, потому что на Foo.public_instance_methods
вы вызываете public_instance_methods
на Foo
, а Foo
не имеет никаких открытых методов экземпляра (только Bar
).
Если вы измените эту строку на self.public_instance_methods
, она будет работать как ожидалось.
class Foo
def self.fuga
pp self.public_instance_methods(false)
end
end
class Bar < Foo
fuga
def hoge
p "fuga"
end
end
Bar.fuga
#=> [:hoge]
В пример программирования OpenGL с именем «Создание простых кнопок с помощью указателей на функции (+ источник)»
Это шаг к пошаговое руководство показывая, как создавать основные кнопки в OpenGL и C, используя связанные списки и указатели функций.
Возможно, это поможет вам.