gpt4 book ai didi

ruby - 不确定的 IRB 完成行为?

转载 作者:太空宇宙 更新时间:2023-11-03 16:54:42 25 4
gpt4 key购买 nike

我是在 irb 中发现了错误还是我在这里遗漏了什么?

  • 当 irb 在没有额外初始化的情况下运行并且以交互方式加载完成模块时,一切都按预期工作:
irb> 'abc'.str<TAB pressed>
irb> 'abc'.strip
irb> 'abc Def'.str<TAB pressed>
irb> 'abc Def'.strip
  • 然而,当使用 irb -f -r irb/completionirb 运行时,其中 .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

最佳答案

默认情况下,irb 没有启用tab 补全

上面的第一组 irb 交互示例正在运行,因为您以其他方式启用了该功能。很有可能wirble gembond gem或其他一些类似的 gem 正在 irb 上下文中加载。

将 ~/.irbrc 文件重命名为其他名称,这样它就不会加载到 irb 中,然后重试。选项卡完成不应该工作。

我用 'abc Def'.str 确认了制表符完成行为。似乎是 irb 选项卡完成功能中的错误。

通过 code for irb tab completion 进行简要挖掘,我还没有弄清楚为什么会这样。 :-)

关于ruby - 不确定的 IRB 完成行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13108832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com