Перечислить методы только в модуле?
Интересно, как можно перечислять все методы в модуле, но не включая унаследованные методы.
например.
module Software
def exit
puts "exited"
end
end
puts Software.methods
Перечислит не только выход, но и все унаследованные методы.
Можно ли просто вывести выход?
Спасибо
Ответы
Ответ 1
На самом деле Software.methods
не будет отображаться exit
. Software.instance_methods
отобразит exit
, а также любые унаследованные методы (которые в этом случае не являются ничем, потому что модули не наследуют никаких методов, если вы не включили другой модуль). Software.instance_methods(false)
перечисляет только методы, определенные в Software
.
Ответ 2
Software.public_instance_methods
похоже, работает для вашего примера.