![]() |
1
4
我不同意你对“绿后9格”的描述。我使用的是Perl而不是Ruby,但是如果我对您的语句进行修改,在字符串后面打印一个管道符号,我会得到:
这向我表明
关于对齐输出(带着色)的最佳实践,我认为您需要将每个大小和对齐的字段用处理着色的简单的“%s”字段包围:
显然,在哪里
|
![]() |
2
5
这不是一个bug:Ruby不可能知道(至少在printf中,对于像诅咒这样的东西来说,这是另一回事),它的stdout将进入一个能够理解VT100转义序列的终端。 如果你不调整背景颜色,这样做可能是个更好的主意:
|
![]() |
3
3
如果你坚持使用
在哪里?
|
![]() |
4
3
我会从实际文本中分离出任何转义序列,以避免整个问题。
或
由于ansi转义序列不是ruby或c的一部分,所以它们都不认为需要对这些字符进行特殊的处理,这是正确的。 如果你要做很多终端颜色的事情,那么你应该看看诅咒和奴隶制,它们提供了对许多不同类型终端进行颜色更改的功能。它们还提供了更多的功能,如基于文本的窗口、功能键,有时甚至鼠标交互。 |
![]() |
5
0
这是我最近提出的一个解决方案。这允许你使用
例子:
|