2012-03-04 55 views
5

當我將這段代碼粘貼到irb提示符後,我得到 行if true後的當前目錄列表。輸出的奇怪的irb行爲,列出內容當前目錄

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)

這是一個錯誤,還是別的?

+1

這很奇怪。會議之後繼續工作嗎? – 2012-03-04 22:11:57

回答

4

下面一行將具有製表符在它:

 raise StandardError 

irb使用readline這意味着該選項卡密鑰用於標籤完成。雙選項卡會顯示所有可用選項。

要看到這個動作,只需啓動irb並點擊兩次tab鍵。

有關如何禁用它的指導,請參閱https://superuser.com/questions/37148/how-to-disable-double-tab-to-show-available-commands-in-linux-console

+2

這會導致使用軟標籤更有趣和深奧的優點之一。 – 2012-03-04 23:43:49

1

由於Don Cruickshanks提到的原因,您應該設置選項將選項卡轉換爲文本編輯器中的空格。