Suche…


Rekompilieren Sie das Projekt mit "Rekompilieren"

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

Siehe Dokumentation mit "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

Holen Sie sich den Wert vom letzten Befehl mit `v`

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

Siehe auch: Holen Sie sich den Wert einer Zeile mit `v`

Holen Sie sich den Wert eines vorherigen Befehls mit `v`

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

Sie können eine bestimmte Zeile über den Index der Zeile übergeben:

iex(4)> v(3)
30

Sie können auch einen Index relativ zur aktuellen Zeile angeben:

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

Der Wert kann in anderen Berechnungen wiederverwendet werden:

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

Wenn Sie eine nicht vorhandene Zeile angeben, gibt IEx einen Fehler aus:

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

Beenden Sie die IEx-Konsole

  1. Verwenden Sie zum Verlassen Strg + C, Strg + 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. Verwenden Sie Ctrl+ \ um sofort zu beenden

Siehe Information mit `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 erstellen

Dies ist nützlich, wenn Sie die PID eines vorherigen Befehls nicht gespeichert haben

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>

Halten Sie Ihre Aliase bereit, wenn Sie IEx starten

Wenn Sie Ihre häufig verwendeten Aliase in eine .iex.exs Datei im Stammverzeichnis Ihrer App .iex.exs IEx diese beim Start für Sie.

alias App.{User, Repo}

Anhaltende Geschichte

Standardmäßig wird der Benutzereingabeverlauf in IEx nicht für verschiedene Sitzungen IEx .

erlang-history fügt der Erlang-Shell und dem IEx erlang-history hinzu:

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

Sie können jetzt mit den Aufwärts- und IEx auf Ihre vorherigen Eingaben zugreifen, auch in verschiedenen IEx Sitzungen.

Wenn die Elixir-Konsole feststeckt ...

Manchmal laufen Sie aus Versehen etwas in der Shell, das für immer wartet und die Shell blockiert:

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

In diesem Fall drücken Sie Strg-g. Du wirst sehen:

User switch command

Geben Sie diese Befehle in der angegebenen Reihenfolge ein:

  • k (um den Shell-Prozess zu beenden)
  • s (um einen neuen Shell-Prozess zu starten)
  • c (um eine Verbindung zum neuen Shell-Prozess herzustellen)

Sie landen in einer neuen Erlang-Shell:

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

Um eine Elixir-Shell zu starten, geben Sie Folgendes ein:

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

(den letzten Punkt nicht vergessen!)

Dann sehen Sie einen neuen Elixir-Shell-Prozess:

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)>

Um aus dem "Warten auf weitere Eingabe" -Modus (aufgrund nicht geschlossener Anführungszeichen, Klammern usw.) zu #iex:break , geben Sie #iex:break , gefolgt von Wagenrücklauf ( ):

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

Dies ist besonders nützlich, wenn ein relativ großes Snippet durch Kopieren und Einfügen in den Modus "Warten auf weitere Eingaben" versetzt wird.

brechen Sie aus unvollständigem Ausdruck aus

Wenn Sie in IEx etwas eingegeben haben, das eine Vervollständigung erwartet, wie z. B. eine mehrzeilige Zeichenfolge, ändert IEx die Eingabeaufforderung, um anzuzeigen, dass Sie auf den Abschluss warten, indem Sie die Eingabeaufforderung so ändern, dass sie eine Auslassungszeichen ( ... ) anstelle von iex .

Wenn Sie feststellen, dass IEx auf das Beenden eines Ausdrucks wartet, Sie jedoch nicht sicher sind, was zum Beenden des Ausdrucks erforderlich ist, oder möchten Sie diese Eingabezeile einfach abbrechen, geben #iex:break als Konsoleneingabe #iex:break . Dies bewirkt, dass IEx einen TokenMissingError und das Warten auf weitere Eingaben TokenMissingError , wodurch Sie zu einer Standardkonsoleingabe der obersten Ebene zurückkehren.

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

Weitere Informationen finden Sie in der IEx-Dokumentation .

Laden Sie ein Modul oder Skript in die IEx-Sitzung

Wenn Sie eine Elixier-Datei haben; Wenn Sie ein Skript oder ein Modul verwenden und es in die aktuelle IEx-Sitzung laden möchten, können Sie die Methode c/1 verwenden:

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

Dadurch wird das Modul in IEx kompiliert und geladen, und Sie können alle öffentlichen Methoden aufrufen.

Bei Skripten wird der Inhalt des Skripts sofort ausgeführt:

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow