2016-02-09 13 views

risposta

10

Per prima cosa individuare il modulo e la funzione che si desidera chiamare nello Erlang OTP Reference Page Index.

Ad esempio per chiamare un'uniforme casuale si dovrebbe cercare nel modulo casuale e trovare la funzione uniforme \ 0.

Per chiamare che in Elixir di utilizzare il formato, :module.function(), per esempio,

iex(1)> :random.uniform() 
0.7230402056221108 

Per le funzioni che non tengono alcun parametro la parentesi sono opzionali.

+1

Il punto è di chiamare le funzioni normalmente, l'unica differenza è che i moduli Elixir avere 'CamelCaseNames' mentre i moduli Erlang hanno': snake_case_names_with_a_colon' –

+3

Non dimenticare l'importante @Gerry punto che le stringhe Elixir, che sono contrassegnate con "string "Devo essere cambiato in lista dei caratteri quando sono passati a Erlang come 'stringa'. Aggiungo questo alla tua risposta. –

3

Il completamento automatico in iex aiuterà molto con questo.

iex> :c<TAB> 

vi mostrerà tutti i moduli caricati da Erlang che iniziano con la lettera c e

iex> :crypto.<TAB> 

vi mostrerà tutte le funzioni disponibili in quel modulo. Sfortunatamente a partire da Elixir 1.2 il comando h non funziona ancora per i moduli di Erlang. Tuttavia ha un effetto collaterale utile.

Non tutti i moduli Erlang disponibili vengono caricati inizialmente (ci sono oltre 500 nella distribuzione Erlang standard). Un modo per ottenere un modulo caricato è utilizzare il comando h.

iex> h :crypto 

Oppure si può semplicemente utilizzare il comando l, ma non è così divertente.

1

erldocs.com consentono di cercare in modo interattivo la documentazione di Erlang.

Le manpage sono anche convenienti (solo man <module-name> nella shell), se sono state installate. Per questo, raccomando kerl, che può installare automaticamente le manpage di Erlang con la configurazione giusta.

spudorato al mio progetto: h sulle funzioni Erlang/moduli in iEX non funziona, ma la speranza è lo farà grazie a docsh.

Problemi correlati