我正在使用 OS-X (10.10.5) 和 rbenv (1.0.0) Ruby (2.2.4p230) 和 Fish Shell (2.2.0)。
当我在 irb
中输入非 ASCII 字符时,它们会自动转义。
max@MaxBook ~/p/sandbox> echo "Ö"
Ö
max@MaxBook ~/p/sandbox> irb
irb(main):001:0> \U+FFC3\U+FFB6
虽然起初这可能是 shell 或我的终端设置的问题,但它只发生在 IRB 中。更改 shell 或 ruby 版本不会影响它。
我以前的笔记本电脑没有这个问题,它的配置几乎相同。这是怎么回事?
最佳答案
您可以通过针对 readline
(而不是默认的 libedit
)重新编译 Ruby,在 IRB
中启用 unicode 支持。
首先使用 brew
安装 readline
:
brew install readline
我使用 rbenv
来管理 Ruby 版本并使用以下行来安装 Ruby 版本:
RUBY_CONFIGURE_OPTS=--with-readline-dir="$(brew --prefix readline)" rbenv install 2.3.1
使用 rvm
它看起来像:
rvm install 2.3.1 --with-readline-dir=$rvm_path/usr
或者当您可能想从源代码重新编译 Ruby 时,然后 this answer可能对你有帮助。
关于ruby - IRB 转义 UTF 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37479850/