2014-12-21 5 views
50

, bir sözdizimi hatası alıyorum Ama vakalar bu gibi orada zaman sonra çoğu.IEx - Çok hatlı komut nasıl iptal edilir? Ben IEX kullanmak ve ek dirsek veya" gibi bir yazım hatası yaptığınızda

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 

Ben bir sözdizimi hatası yapıp devam edemez sıfırdan ve ben tüm IEX yeniden başlatmasını gerekiyor. ile çizgi başlayın geçerli IEX (3) performans atlayıp sonraki IEX (4)?

cevap

53

gitmek için herhangi bir klavye kısayolu veya komut var mı #iex:break

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

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

Bu bölümde, belgelerinde açıklanan "ifadeleri IEX içinde" (fonksiyonlar belgeler başlamadan önce): http://elixir-lang.org/docs /v1.0/iex/IEx.html – alxndr

+16

Ne kadar sezgisel, bu benim ilk tahminim olurdu! – Alexander

+0

ve uzun bir çalıştırma komutunu nasıl keser ve iptal eder? –

36

Genel olarak, ---> numaralı bir istemle "Kullanıcı geçiş komutu" moduna girecek olan Ctrl + G tuşlarına basabilirsiniz. Buradan, IEx oturumunuzu kesmek için i yazıp daha sonra yeniden bağlanmak için c yazabilirsiniz; IEx daha sonra ** (EXIT) interrupted durumunu bildirecek ve takılmadan hemen önce olduğu duruma dönecektir. Bu, IEx tarafından miras alınan Erlang'ın kabuğunun (erl) bir özelliğidir. eylem bu

Örnek:

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)> 
İlgili konular