Elixir Language
IEx कंसोल टिप्स और ट्रिक्स
खोज…
`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 कंसोल से बाहर निकलें
- बाहर निकलने के लिए 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
- तुरंत बाहर निकलने के लिए
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!