Ruby字符串输出

时间:2017-12-16 20:54:32

标签: ruby printf string-formatting

我的目标是创建一个带有3个不同变量(所有字符串)的单行输出,这些变量的格式是第一个变量左对齐,第二个变量居中,最后一个变量右边对齐空格填充变量if它们的大小小于分配的空间。

变量槽是: 变量1,3 =最大字符串长度为10 变量2 =最大字符串长度为7 (变量1& 2和2& 3之间将有2个空格的空间缓冲区)

无论用户输入如何,我都希望变量1和3的大小相同(10)。如果输入小于10,我希望在结尾处填充(变量1 - 左对齐)或在开头(变量3 - 右对齐)。

我尝试使用/学习各种格式和参数的sprintf方法,但我一直在收到错误或空白输出。

****IDEAL OUTPUT EXAMPLE****

VARIABLE 1  VARIAB2  VARIABLE 3

1 个答案:

答案 0 :(得分:2)

您可以使用String类中提供的各种方法。

input1 = 'one'
input2 = 'two'
input3 = 'three'

input1 = input1.ljust 10
 #=> "one       "
input2 = input2.center 7     #credit to user Simple Lime
 #=> "  two  "
input3 = input3.rjust 10
 #=> "     three"

puts output = input1 + '  ' + input2 + '  ' + input3
 #one           two         three
output.size
 #=> 31