gpt4 book ai didi

ruby - 在 Ruby 模块上调用方法

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

我有以下 Ruby 代码:

module MyModule
class MyClass
def self.my_method
end
end
end

要调用 my_method,我输入 MyModule::MyClass.my_method。我想在模块本身上为 my_method 编写一个包装器:

MyModule.my_method

这可能吗?

最佳答案

我不确定您想要实现什么,但是:如果您将其设为常规方法并使用 module_function 对其进行修改,您将能够以您选择的任何方式调用它。

#!/usr/bin/ruby1.8

module MyModule

def my_method
p "my method"
end
module_function :my_method

end

完成此操作后,您可以包含该模块并将该方法作为实例方法调用:

class MyClass

include MyModule

def foo
my_method
end

end

MyClass.new.foo # => "my method"

或者您可以将该方法作为模块上的类方法调用:

MyModule.my_method   # => "my method"

关于ruby - 在 Ruby 模块上调用方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1973596/

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