com*_*omb 11 ruby ruby-on-rails class dynamic invoke
假设我可以构造一个匹配现有类的字符串,我该如何调用它?
例如,我有几个类:
我想通过构造一个匹配其名称的字符串来动态调用它们.如果他们都有方法"方法",我该如何做这样的事情?:
(1..3).each do |n|
("MyClass"+n).methods
end
Run Code Online (Sandbox Code Playgroud)
zsq*_*are 18
constantize符合条件.你可以在这里阅读更多相关信息.在你的情况下,它将是这样的:
(1..3).each do |n|
"MyClass#{n}".constantize.methods
end
Run Code Online (Sandbox Code Playgroud)