我写了一个Ruby文件my.rb
,它有一个模块定义:
module MyModule
...
end
另一个Ruby脚本需要动态my.rb
,我想动态获取my.rb
中定义的模块名称。有可能吗?
答案 0 :(得分:1)
您可以使用TracePoint
执行此操作:
# :class is the start of a class or module definition
TracePoint.new(:class) do |trace|
puts "defined a class or module named: #{trace.self}"
end.enable do
require './my'
end
运行此脚本时,将输出:
定义了一个名为MyModule
的类或模块
只有在enable
块中定义的类才能获得输出