【问题标题】:jruby irb newline \r instead of \njruby irb 换行符 \r 而不是 \n
【发布时间】:2016-09-06 16:43:02
【问题描述】:

使用 jruby 9.1.2.0 irb 在按回车键时我得到 ^M 而不是 \n。

重现: 运行 jruby irb IE。 java -jar jruby-complete-9.1.2.0-complete.jar -S irb

> gets
enteranyinputhere

按回车键并观察

> gets
enteranyinputhere^M

当我期待时

> gets
anyinputhere
=> "anyinputhere\n"

这使得根本无法获得任何输入。这可能与 Mac 在按 Enter 时输入 \r 而不是 \n 有关

> gets("\r").chomp
foo^M=> "foo"

我在最新的 jruby 版本 9.1.4.0 中也观察到了这个问题

【问题讨论】:

  • 您使用的是什么版本的操作系统?我无法在我的机器上重现它(OS X 10.11,JRuby 9.1.2.0)。你的终端可能有一些奇怪的设置吗?
  • 我也在使用iterm,但也在bash上复制了它
  • iTerm 是您的终端。 bash 是你的外壳。这两者只是切线相关。
  • 我的意思是默认的mac终端

标签: ruby jruby irb


【解决方案1】:

我能够通过从另一个终端窗口粘贴文本来重现此问题,并通过禁用首选项高级选项卡的 输入 下的“粘贴换行符作为回车符”选项来修复它。 p>

【讨论】:

  • 对哪个软件的偏好?内置终端应用程序没有高级选项卡(至少对我而言)
  • @SergioTulentsev 在“配置文件”下选择您正在使用的配置文件,然后切换到那里的“高级”选项卡。这是在股票终端应用程序中。
  • 这并没有解决我的问题
  • 你有可能有一些非常奇怪的stty 设置吗? stty -icrnl 导致我出现 ^M 行为,stty icrnl 修复它。
  • 尝试切换 stty icrnl 但这似乎也不是问题
猜你喜欢
  • 2010-12-20
  • 1970-01-01
  • 2012-09-05
  • 2016-06-23
  • 1970-01-01
  • 1970-01-01
  • 2010-11-07
  • 2018-12-19
  • 1970-01-01
相关资源
最近更新 更多