gpt4 book ai didi

ruby - 如何动态更改 Ruby 中的嵌套?

转载 作者:太空宇宙 更新时间:2023-11-03 16:08:10 25 4
gpt4 key购买 nike

我将模块用作命名空间,并希望用类动态填充它们,例如:

module Module1
# ...
end

module Module2
# ...
end

[Module1, Module2].each do |the_module|
the_module.module_eval do
class ApiTest < ActiveSupport::TestCase
# ...
end
end
end

module_eval 可以工作,只是它 更改嵌套,保留外部嵌套。因此,包含的常量未嵌套在模块中。

最初的动机是为每个包含在自己模块中的不同 API 实现生成相同测试。

最佳答案

这是另一个选项(注意“self::”)

module Module1
# ...
end

module Module2
# ...
end

[Module1, Module2].each do |the_module|
the_module.module_eval do
class self::ApiTest < ActiveSupport::TestCase
# ...
end
end
end

关于ruby - 如何动态更改 Ruby 中的嵌套?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9438442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com