我在irb中发现了一个错误,或者我在这里遗漏了什么?
irb> 'abc'.str<TAB pressed> irb> 'abc'.strip irb> 'abc Def'.str<TAB pressed> irb> 'abc Def'.strip
irb -f -r irb/completion
或irb
运行 .irbrc 确实包含单一行require 'irb/completion'
时,奇怪的事情开始发生:irb> 'abc'.str<TAB pressed> irb> 'abc'.strip irb> 'abc dEf'.str<TAB pressed> dEf'.strftime dEf'.string dEf'.strip dEf'.strip! irb> 'abc Def'.str<TAB pressed> <no possible completions are displayed>
字符串中的空格和空格后面的大写字母会以某种方式破坏完成代码,但前提是非交互式加载完成模块!
Ruby 1.9.3p286 Irb 0.9.6 Linux x86_64
答案 0 :(得分:0)
默认情况下,irb未启用tab completion
。
上面的第一组irb交互示例正在运行,因为您已通过其他方式启用了该功能。很可能在irb上下文中加载了wirble
gem或bond
gem或其他类似的gem。
将〜/ .irbrc文件重命名为其他内容,以便它不会加载到irb中,然后再试一次。选项卡完成不起作用。
我使用'abc Def'.str
确认了标签完成行为。似乎是irb选项卡完成功能中的错误。
简要介绍code for irb tab completion,我还没弄清楚为什么会这样。 : - )