ruby - IRB 转义 UTF 字符

标签 ruby irb

我正在使用 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/

相关文章:

ruby-on-rails - rails console - 在表格中显示事件记录结果

ruby-on-rails - % 在下面的代码中做了什么?

ruby - 如何让 "bundle install"命令只查看当前版本的 "ruby"(我选择的)?

ruby - pry 开 gem : automatically requires local gemspec

ruby - 为什么 Iconv 在 irb 和 Ruby 解释器中的工作方式不同?

ruby - 为什么 Ruby 倾向于按降序分配对象 ID?

ruby - 拆分长字符串而不打断单词

Ruby 哈希键作为符号不起作用

ruby-on-rails - 如何在 Rails 2.3.14 应用程序中配置 memprof?

ruby-on-rails - 如何将选项传递到heroku中的rails控制台