23

我有几个红宝石字符串,我想适当地左右对齐。

我现在"Name".center(20, " ")用来获取"(7 spaces)Name(8 spaces)"

我怎样才能达到"Name(15 spaces)""(15 spaces)Name"

谢谢。

4

3 回答 3

42
"Name".ljust(19)
"Name".rjust(19)
于 2013-02-22T10:05:39.973 回答
8

Ruby 在printf中定义了一个方法Kernel,尝试使用它。

它支持许多常见的“ f”(“格式”,如 in scanf, printf, ...)选项(参见 eg man 3 printf)。

左右对齐可以这样完成(从评论中提取):

printf("%10s", "right")
printf("%-10s","left") 
于 2013-02-22T10:00:40.073 回答
1

插入n个字符的副本

当然还有其他方法可以做到这一点,但其中之一是使用 splat 运算符复制字符(例如空格字符)一定次数。例如:

puts (' ' * 15) + 'Name'
puts 'Name' + (' ' * 15)
于 2013-02-22T10:07:53.300 回答