2014-12-21 8 views
50

जब मैं आईईएक्स का उपयोग करें और अतिरिक्त ब्रैकेट या "की तरह एक टाइपो करना होगा, फिर समय की सबसे मैं एक वाक्य रचना त्रुटि मिलती है लेकिन वहाँ इस तरह के मामलों रहे हैं:।आईईएक्स - मल्टीलाइन कमांड को कैसे रद्द करें?

iex(3)> Enum.each '12345', &(IO.puts(&1"))  
...(3)> end 
...(3)>) 
...(3)> '  
...(3)> end  
...(3)> ""  
...(3)> ... ? How to produce syntax error ?  
...(3)>  
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded  
     (v)ersion (k)ill (D)b-tables (d)istribution 

मैं एक सिंटैक्स त्रुटि नहीं कर सकते हैं और जारी रखने के लिए खरोंच से और मैं पूरी आईईएक्स को पुन: लॉन्च किया है। वहाँ किसी भी कीबोर्ड शॉर्टकट या आदेश वर्तमान आईईएक्स (3) प्रदर्शन कर छोड़ कर अगले आईईएक्स (4)?

उत्तर

53

पर जाने के लिए के साथ अपने लाइन शुरू है #iex:break

iex(1)> Enum.each '12345', &(IO.puts(&1"))  
...(1)> ... 
...(1)> #iex:break 

** (TokenMissingError) iex:1: incomplete expression 
+2

यह दस्तावेज में बताया गया है अनुभाग में "आईईएक्स में भाव" (पहले कार्यों प्रलेखन शुरू होता है): http://elixir-lang.org/docs /v1.0/iex/IEx.html – alxndr

+16

कितना अंतर्ज्ञानी, यह मेरा पहला अनुमान रहा होगा! – Alexander

+0

और कोई एक लंबे समय तक चलने वाले आदेश को कैसे बाधित करता है और इसे रद्द करता है? –

36

सामान्य रूप से, आप Ctrl + जी भी दबा सकते हैं, जो आपको ---> प्रॉम्प्ट के साथ "उपयोगकर्ता स्विच कमांड" मोड में छोड़ देगा। यहां से, आप अपने आईईएक्स सत्र को बाधित करने के लिए i टाइप कर सकते हैं, फिर c इसे फिर से कनेक्ट करने के लिए; आईईएक्स तब ** (EXIT) interrupted बताएगा और उस स्थिति में लौट आएगा जब आप फंस गए थे। यह एरलांग के खोल (एआरएल) की एक विशेषता है जिसे आईईएक्स द्वारा विरासत में मिला था। कार्रवाई में इस बात का

उदाहरण:

iex(3)> Enum.each '12345', &(IO.puts(&1")) 
...(3)> end 
...(3)>) 
...(3)> ' 
...(3)> end 
...(3)> "" 
...(3)>  <-- Ctrl-G goes here (not shown normally) 
User switch command 
--> i 
--> c 
** (EXIT) interrupted 
iex(3)> 
संबंधित मुद्दे