如何将方法的结果传递给ruby中的另一个方法? 如:如何链接ruby中的方法将一个方法的输出传递给连续的方法
class D
def initialize(text)
@text = text
end
def a s
"hello #{s}"
end
def b s
"hi #{s}"
end
end
所以,我想要做的是方法的输出传递方法b。所以基本上(如果该方法不是一个类中),我可以做以下的以下内容:
puts b(a "Tom") #=>hi hello Tom
然而,即使这不是一个类的内部,它不会好看,如果有一个很多方法,所以必须有一个更优雅的方式来做到这一点。那么通过将方法a和b应用于D类的实例来获得输出hi hello Tom
的正确方法是什么?
UPDATE 我只是想让它更清楚一点。例如,在F#中,你可以这样做:
这里我们定义函数a和b,然后将结果传递给下一个函数。 我知道它的一种功能语言,所以做事的方式会有所不同。但我只是想知道Ruby中是否有这样的技巧?
“所以必须有更优雅的方式来做到这一点” - 为什么?有人可能会使用'puts b a'Tom'',但我怀疑它是“更优雅”。 – mudasobwa
@mudasobwa我明白。我刚刚更新了这个问题,使其更加清晰。也许这会有所帮助? :) –
问题依然存在:为什么在地球上你认为F#的方式更优雅? – mudasobwa