我从 IRB 控制台得到了非常奇怪的输出。这里是:
irb(main):001:0> File.dirname(__FILE__)
=> ←[0;31m"←[0;0m←[0;36m.←[0;0m←[0;31m"←[0;0m
似乎是编码问题,对吧?我不确定为什么会这样。任何想法如何解决它?
这些是用于在终端程序中设置颜色的转义码;可能最流行的是在 xterm 或兼容终端中为提示着色。例如,我的 bash 提示符环境变量如下所示:
PS1="\[\033]2;\w\007\]\[\033[0;31m\]\u@\h \[\033[0;32m\]\!\[\033[0;31m\]> \[\033[0m\]
看起来像这样的字符串正在进入您的控制台并混淆它(因为它不是 bash 和/或在 xterm 友好的终端仿真器中,我猜)。
正如卡尔和迈克所指出的,这是颜色信息。如果您安装ANSICON,您可以实际显示颜色。一旦我安装了 Wirble 和 Cucumber,它们在我的 Windows 机器上的 dos 框中的输出中就会出现彩色文本。