खोज…


`Recompile` के साथ पुनरावर्ती परियोजना

iex(1)> recompile
Compiling 1 file (.ex)
:ok

`H` के साथ प्रलेखन देखें

iex(1)> h List.last

                                 def last(list)

Returns the last element in list or nil if list is empty.

Examples

┃ iex> List.last([])
┃ nil
┃
┃ iex> List.last([1])
┃ 1
┃
┃ iex> List.last([1, 2, 3])
┃ 3

`V` के साथ अंतिम कमांड से मूल्य प्राप्त करें

iex(1)> 1 + 1
2
iex(2)> v
2
iex(3)> 1 + v
3

यह भी देखें: `v` के साथ एक पंक्ति का मूल्य प्राप्त करें

`V` के साथ पिछले कमांड का मूल्य प्राप्त करें

iex(1)> a = 10
10
iex(2)> b = 20
20
iex(3)> a + b
30

आप पंक्ति के सूचकांक से गुजरने वाली एक विशिष्ट पंक्ति प्राप्त कर सकते हैं:

iex(4)> v(3)
30

आप वर्तमान पंक्ति के सापेक्ष एक सूचकांक भी निर्दिष्ट कर सकते हैं:

iex(5)> v(-1) # Retrieves value of row (5-1) -> 4
30
iex(6)> v(-5) # Retrieves value of row (5-4) -> 1
10

अन्य गणनाओं में मूल्य का पुन: उपयोग किया जा सकता है:

iex(7)> v(2) * 4
80

यदि आप एक गैर-मौजूदा पंक्ति निर्दिष्ट करते हैं, तो IEx एक त्रुटि देगा:

iex(7)> v(100) 
** (RuntimeError) v(100) is out of bounds
    (iex) lib/iex/history.ex:121: IEx.History.nth/2
    (iex) lib/iex/helpers.ex:357: IEx.Helpers.v/1

IEx कंसोल से बाहर निकलें

  1. बाहर निकलने के लिए Ctrl + C, Ctrl + C का उपयोग करें
iex(1)>
BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
       (v)ersion (k)ill (D)b-tables (d)istribution
  1. तुरंत बाहर निकलने के लिए Ctrl+ \ का उपयोग करें

`I` के साथ जानकारी देखें

iex(1)> i :ok
Term
  :ok
Data type
  Atom
Reference modules
  Atom
iex(2)> x = "mystring"
"mystring"
iex(3)> i x
Term
  "mystring"
Data type
  BitString
Byte size
  8
Description
  This is a string: a UTF-8 encoded binary. It's printed surrounded by
  "double quotes" because all UTF-8 encoded codepoints in it are printable.
Raw representation
  <<109, 121, 115, 116, 114, 105, 110, 103>>
Reference modules
  String, :binary

पीआईडी बनाना

यह तब उपयोगी है जब आपने पिछले कमांड से PID को स्टोर नहीं किया था

iex(1)> self()
#PID<0.138.0>
iex(2)> pid("0.138.0")
#PID<0.138.0>
iex(3)> pid(0, 138, 0)
#PID<0.138.0>

जब आप IEx शुरू करते हैं तो अपने उपनाम तैयार करें

यदि आप अपने आमतौर पर उपयोग किए जाने वाले उपनामों को अपने ऐप की जड़ में एक .iex.exs फ़ाइल में रखते हैं, तो IEx उन्हें आपके लिए स्टार्टअप पर लोड करेगा।

alias App.{User, Repo}

लगातार इतिहास

डिफ़ॉल्ट रूप से, IEx में उपयोगकर्ता इनपुट इतिहास विभिन्न सत्रों में जारी नहीं IEx है।

erlang-history दोनों IEx खोल और IEx लिए इतिहास का समर्थन जोड़ता है:

git clone [email protected]:ferd/erlang-history.git
cd erlang-history
sudo make install

अब आप ऊपर और नीचे तीर कुंजियों का उपयोग करके अपने पिछले इनपुट तक पहुंच सकते हैं, यहां तक कि विभिन्न IEx सत्रों में भी।

जब अमृत सांसे अटकी हो ...

कभी-कभी आप गलती से शेल में कुछ ऐसा चला सकते हैं जो हमेशा के लिए समाप्त हो जाता है, और इस प्रकार शेल को अवरुद्ध कर देता है:

iex(2)> receive do _ -> :stuck end

उस स्थिति में, Ctrl-g दबाएं। तुम देखोगे:

User switch command

इन आदेशों को दर्ज करें:

  • k (शेल प्रक्रिया को मारने के लिए)
  • s (एक नई शेल प्रक्रिया शुरू करने के लिए)
  • c (नई शेल प्रक्रिया से जुड़ने के लिए)

आप एक नए Erlang शेल में समाप्त होंगे:

Eshell V8.0.2  (abort with ^G)
1>

एक अमृत खोल शुरू करने के लिए, टाइप करें:

'Elixir.IEx.CLI':local_start().

(अंतिम डॉट मत भूलना!)

फिर आप एक नई अमृत शैल प्रक्रिया देखेंगे।

Interactive Elixir (1.3.2) - press Ctrl+C to exit (type h() ENTER for help)
iex(1)> "I'm back"
"I'm back"
iex(2)>

"प्रतीक्षा-से-अधिक-इनपुट" मोड ( #iex:break उद्धरण चिह्न, ब्रैकेट आदि के कारण) से #iex:break , #iex:break टाइप करें, इसके बाद गाड़ी वापसी ( ):

iex(1)> "Hello, "world"
...(1)>
...(1)> #iex:break
** (TokenMissingError) iex:1: incomplete expression
    
iex(1)>

ऊपर विशेष रूप से उपयोगी है जब एक अपेक्षाकृत विशाल स्निपेट को कॉपी-पेस्ट करना कंसोल को "प्रतीक्षा-के-लिए-अधिक-इनपुट" मोड में बदल देता है।

अधूरी अभिव्यक्ति से बाहर निकलना

जब आप इस तरह के एक बहु स्ट्रिंग के रूप में आईईएक्स में कुछ है जो एक पूरा होने की उम्मीद है, में प्रवेश किया है, आईईएक्स इंगित करने के लिए के लिए आपको संकेत बदल रहा है एक दीर्घवृत्त (करने के लिए से खत्म है कि यह प्रतीक्षा कर रहा है शीघ्र बदल जाएगा ... ) के बजाय iex

यदि आप पाते हैं कि IEx एक अभिव्यक्ति को समाप्त करने के लिए आपका इंतजार कर रहा है, लेकिन आपको यकीन नहीं है कि इसे अभिव्यक्ति को समाप्त करने की आवश्यकता है, या आप बस इनपुट की इस पंक्ति को समाप्त करना चाहते हैं, #iex:break दर्ज #iex:break कंसोल इनपुट के रूप में #iex:break । यह IEx को एक टोकनमिसिंगइयर को फेंकने और किसी भी अधिक इनपुट की प्रतीक्षा को रद्द करने का कारण बनेगा, जो आपको एक मानक "शीर्ष-स्तरीय" कंसोल इनपुट पर TokenMissingError

iex:1> "foo"
"foo"
iex:2> "bar
...:2> #iex:break
** (TokenMissingError) iex:2: incomplete expression

अधिक जानकारी IEx प्रलेखन में उपलब्ध है।

IEx सत्र में एक मॉड्यूल या स्क्रिप्ट लोड करें

यदि आपके पास एक अमृत फ़ाइल है; एक स्क्रिप्ट या एक मॉड्यूल और इसे वर्तमान IEx सत्र में लोड करना चाहते हैं, आप c/1 विधि का उपयोग कर सकते हैं:

iex(1)> c "lib/utils.ex"
iex(2)> Utils.some_method

यह आईईएक्स में मॉड्यूल को संकलित और लोड करेगा, और आप इसे सभी सार्वजनिक तरीकों से कॉल कर पाएंगे।

स्क्रिप्ट के लिए, यह स्क्रिप्ट की सामग्री को तुरंत निष्पादित करेगा:

iex(3)> c "/path/to/my/script.exs"
Called from within the script!


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow