gpt4 book ai didi

ruby-on-rails - 在包含在类中的模块中使用 define_method?

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:39 26 4
gpt4 key购买 nike

我有这样的东西:

module MyModule
define_method(:foo){ puts "yeah!" }
end

class User
include MyModule
end

但这并不像预期的那样工作......它们没有定义。我还需要使用模块,因为我想将那里的方法与普通用户方法区分开来。我喜欢这样:

MyModule.instance_methods

请帮忙..我错过了什么?我也试过:

module MyModule
(class << self; self; end).class_eval do
define_method(:foo){ puts "yeah!" }
end
end

这也行不通:/

澄清......我想使用:

User.first.foo

不是

MyModule.foo

最佳答案

你总是可以使用extend self技巧:

module MyModule
define_method(:foo){ puts "yeah!" }

extend self
end

这具有使该模块既是混入又是单例的效果。

关于ruby-on-rails - 在包含在类中的模块中使用 define_method?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193679/

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