【问题标题】:Strange irb behaviour, listing content current directory奇怪的 irb 行为,列出内容当前目录
【发布时间】:2012-03-04 22:08:53
【问题描述】:

当我将此代码粘贴到 irb 提示符中时,我会在之后获得当前目录的列表 行if true

def some_method()

  if true
        raise StandardError
    end

end

输出示例:

irb(main):151:0> def some_method()
irb(main):152:1> 
irb(main):153:1*   if true
irb(main):154:2> 
.Skype/                          .m2/                             Desktop/
...

我使用irb 0.9.5(05/04/13)ruby 1.8.7 (2011-12-28 patchlevel 357)

这是一个错误,还是别的什么?

【问题讨论】:

  • 这很奇怪。会话之后是否继续工作?

标签: ruby irb


【解决方案1】:

以下行将包含制表符:

        raise StandardError

irb 使用readline,这意味着 tab 键用于 tab 补全。双标签会显示所有可用的选项。

要查看实际情况,只需启动 irb 并按两次 Tab 键。

有关如何禁用它的指导,请参阅 https://superuser.com/questions/37148/how-to-disable-double-tab-to-show-available-commands-in-linux-console

【讨论】:

  • 这导致了使用软标签更有趣和更深奥的优点之一。
【解决方案2】:

由于 Don Cruickshanks 提到的原因,您应该在文本编辑器中设置将制表符转换为空格的选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多