Предположим, у меня есть следующее:
module A
class B
# ...
end
# ...
end
И предположим, у меня есть несколько таких файлов, с разными значениями B, но все в одном модуле (A). Из программы, которая require
является файлом, а затем require
- каждым из этих файлов, существует ли способ с самоанализом / отражением (это разные вещи? Я не уверен в различии, если так), чтобы определить ( и получить объекты для каждого класса в модуле?
Я попробовал это, и это мне как-то близко:
A.constants # => ["B"]
Но я бы предпочел вернуть [A::B]
, а не строку, чтобы я мог затем вызвать что-то вроде singleton_methods
, что было бы полезно для моей программы, которая пытается преобразовать данные в вызовы в методы различных подклассов.
Есть ли способ сделать это? Я искал ответы и нашел несколько связанных с этим вещей, таких как это или это , но ничего такого, на чем можно было бы остановиться.