是否有巧妙的ruby字符串方法来创建文本条形图如“XXX -------”如果通过3和10?

时间:2011-07-24 08:04:48

标签: ruby string

我需要编写一个方法来创建一个给定值和maxvalue的简单文本条形图。因此barchart(4, 10)会返回"XXXX------"

编写代码显然非常简单,但我正在尝试了解有关ruby字符串方法的更多信息。

我能想到的那个是:如果你想要,例如,4/10(即"XXXX------"的输出),

graph = "".ljust(4, 'X').ljust(10, '-')

但这看起来很傻,我怀疑有更直接的方法吗?

2 个答案:

答案 0 :(得分:3)

这是使用string multiplication的另一种方式:

 passed = 4
 d = 'X' * passed + '-' * (10 - passed)

这是否“不那么傻”尚未确定。

答案 1 :(得分:2)

你可以使用字符串乘法和加法。


d = "X" * 4 + "-" * 10