ruby - 按顺序调用对象上的方法列表,管道方法?

标签 ruby method-chaining

我想做以下事情:

 object.method1.method2.method3.method4

除了所有方法都在一个数组中。所以,在一个例子中:

 object = 1
 methods = %W(to_s split shift)
 # should somehow do 1.to_s.split.shift

如何在对象上按顺序调用方法

最佳答案

使用 Enumerable#inject 执行以下操作

object = 1
%w(to_s split shift).inject(object,:send) # => "1"

关于ruby - 按顺序调用对象上的方法列表,管道方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21554372/

相关文章:

ruby-on-rails - SQL 语句的 Rails 4 作用域

ruby - 在 Docker 容器中运行 Ruby Sinatra 无法连接(通过 Mac 主机)或无法找到命令(在不同的场景中)?

ruby - Nginx似乎在Docker中的Sinatra应用程序上崩溃

c# - 如果在 c# 中该类的任何方法中发生,则创建一个捕获异常的方法

php - 检查调用是否是方法链接

javascript - 在 Promise 链中提取函数

javascript - promise 链接,顺序错误

ruby - 如何在正则表达式中转义所有具有特殊含义的字符

ruby - 我可以在 Ruby 的下一行放置一个 if/unless 子句吗?

javascript - Promise js方法时如何避免逻辑重复?