2012-03-04 5 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) का उपयोग करें।

क्या यह एक बग है, या कुछ और? जिसका अर्थ है कि टैब कुंजी टैब पूरा करने के लिए प्रयोग किया जाता है

 raise StandardError 

irbreadline उपयोग करता है:

+1

यह बहुत अजीब है। सत्र बाद में काम करना जारी रखता है? –

उत्तर

4

निम्न पंक्ति उस में टैब वर्ण होगा। डबल टैब आपको सभी उपलब्ध विकल्पों को दिखाएगा।

कार्रवाई में यह देखने के लिए, बस irb लॉन्च करें और टैब कुंजी को दो बार दबाएं।

इसे अक्षम करने के तरीके पर मार्गदर्शन के लिए https://superuser.com/questions/37148/how-to-disable-double-tab-to-show-available-commands-in-linux-console देखें।

+2

यह नरम टैब का उपयोग करने के अधिक दिलचस्प और गूढ़ पेशेवरों में से एक में परिणाम देता है। –

1

डॉन क्रूक्सशैंक का उल्लेख करने के कारण, आपको टैब को अपने टेक्स्ट एडिटर में रिक्त स्थानांतरित करने के विकल्प को सेट करना चाहिए।