我正在使用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版本不会影响它。
我之前的笔记本电脑上没有这个问题,它的配置几乎相同。这是怎么回事?
答案 0 :(得分:3)
您可以通过重新编译Ruby IRB
(而不是默认的readline
)来启用libedit
中的unicode支持。
首先使用readline
安装brew
:
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可能对您有所帮助。