Ruby字符串输出

问题描述 投票:1回答:1

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

变量槽是:变量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
ruby printf string-formatting
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.