ruby - 将方法作为参数传递

标签 ruby

有没有办法在不使用 Proc 对象或 block 的情况下将方法作为参数传递?我看到的类似问题的答案依赖于创建一个 Proc 对象。

def call_a_method_via_a_parameter( &some_method )
  # ?? call some_method and pass it a parameter ??
end
def my_method( param )
  puts param
end

call_a_method_via_a_parameter( &:my_method )

最佳答案

def bob(jeff)
  puts "hi #{jeff}"
end

def mary(meth, params)
  meth.call(params)
end

mary(method(:bob), 'yo')
=> hi yo

关于ruby - 将方法作为参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20132983/

相关文章:

Ruby 在 "array.each"中返回不同的类型

ruby-on-rails - 是否有一个库可以自动进行 CSS spriting?

ruby - 使用 Nokogiri 提取一些 JSON

ruby - Rubocop 使用错误版本的 Ruby - 失败

ruby - 我可以从在 Heroku 上运行的应用程序中发出 "heroku restart"命令吗?

Ruby:read_timeout 和 open_timeout 之间的区别

ruby-on-rails - uploader 产生关于它应该存储路径的列的错误

ruby - 在 Ruby 中查找包含 Enumerable 模块的所有类

ruby-on-rails - Action Controller : Exception | undefined method `fetch_value' for nil:NilClass

ruby-on-rails - 获取 "undefined method ` url' 为 "":String"Using paperclip in Ruby on Rails