作为ruby学习的一部分,我想在size中调用rjust方法,并将其作为第一个参数传递。不知道怎么做。
例如。

2.to_s(2) #=> returns "10"

现在,我想使用rjuston10传递:size + 5作为第一个参数来获取*****10
2.to_s(2).rjust(how_to_get_size_of_10_and_add_5, "*") #=> dont know how to.

未成功,尝试了以下操作:
2.to_s(2).tap{|s| rjust(s.size+5,"*")} #=> ...undefined method `rjust' for main:Object
2.to_s(2).rjust(send(:size)+5,"*") #=> ... undefined method `size' for main:Object

我试图理解如何在方法调用链的一部分上引用和执行方法在我的例子中,我试图在rjust上调用2.to_s(2),在rjust中引用size2.to_s(2)抱歉,如果我写得很笨拙

最佳答案

我不明白你为什么要间接这么做,但也许你想做的是:

2.to_s(2).tap{|s| break s.rjust(s.size + 5, "*")}

在Ruby内核中,针对这种情况提出了一种新的方法,但它还不可用同时,您必须使用tapbreak的组合。

关于ruby - 如何在rjust内使用方法调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26608474/

10-11 05:05