如果您试图以元编程方式创建类方法,这将非常有用:

def self.create_methods(method_name)
    # To create instance methods:
    define_method method_name do
      ...
    end

    # To create class methods that refer to the args on create_methods:
    ???
end

我的答案是...

推荐答案

我认为在Ruby 1.9中,你可以做到:

class A
  define_singleton_method :loudly do |message|
    puts message.upcase
  end
end

A.loudly "my message"

# >> MY MESSAGE

Ruby相关问答推荐

如何通过语法将Ruby Sorbet签名突出显示为不强调的 comments ?

Ruby:对于不存在的键,使用缺省值Hash在Hash中存储Hash

从整数中 Select 重复数字的字符串

Ruby ERB 类给出未定义的局部变量或方法,但 erb 解析良好

我可以在 Ruby 的 heredoc 中访问变量吗?

如何在 Sinatra 中解析 JSON 请求正文一次并将其公开给所有路由?

由模块中定义的另一个覆盖方法

在基于值的哈希数组上唯一

在 RSpec-2.11 中使用隐含的 `subject` 和 `expect`

如何绘制 git repo 的代码行历史记录?

以条件方式构建哈希

在 Ruby 中重写 to_s 方法不好吗?

Jekyll - 找不到命令

用元素填充数组 N 次

Ruby中的file.open、open和IO.foreach,有什么区别?

Ruby 中的超级关键字

找不到Bundle 命令 mac

class << self vs self.method with Ruby:什么更好?

如何使用 minitest 运行所有测试?

如何解决/usr/bin/env: ruby​​_executable_hooks: No such file or directory?