我的目标是创建一个带有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
答案 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