Ecco il programma che sto cercando di correre per Elixir 1.0.3:stampa di base con Elixir - IO.puts errore: ** (ArgumentError) Errore di argomento (stdlib): io.put_chars (#PID
IO.puts "putstest"
div2 = fn inputnum ->
[:a, inputnum/4, inputnum/7, inputnum/5.0, inputnum/7, inputnum*88]
end
myoutput = div2.(300.0)
IO.puts myoutput
ho aggiunto il: un atomo in caso Elixir stava facendo una sorta di fusione implicita
sono una specie di nuovo da Elixir continuo a ricevere il seguente errore quando si esegue il codice di cui sopra per $ elixir putztestzorz.exs
:..
putstest
** (ArgumentError) argument error
(stdlib) :io.put_chars(#PID<0.24.0>, :unicode, [[:a, 75.0, 42.857142857142854, 60.0, 42.857142857142854, 2.64e4], 10])
(elixir) lib/code.ex:316: Code.require_file/2
I controllato la documentazione allo http://elixir-lang.org/docs/master/elixir/IO.html, ma né IO.stream (Converte il dispositivo io in un IO.Stream, modificato l'ultima riga in IO.stream output
) né IO.write (Scrive l'argomento specificato sul dispositivo specificato, modificato l'ultimo linea a IO.write :stdout, output
) sembra fare il trucco.
Non voglio continuare a indovinare, qui, e sembra che non capisco cosa dovrebbe fare la funzione.
Esiste un analogo a Python print()
che funziona, ,?
Devo trasmettere l'elenco o qualcosa del genere?
Probabilmente mi manca qualcosa di veramente semplice, qui, ma non voglio solo indovinare la mia lista di funzioni di gestione degli I/O.
(PS La documentazione continua a parlare di un Process.group_leader
. Non ho intenzione di fare molto con questo ancora, ma c'è un modo per metterlo in contesto per questo genere di cose? Continuo a immaginare Red Leader da Star Wars.)
Inoltre, è bello sapere che è possibile inserire un'ispezione all'interno di un'interpolazione di stringhe, ad esempio IO.puts "ecco un elenco: # {inspect mylist}" – GavinBrelstaff
Provato IO.inspect. Viene generato quanto segue: $ elixir putztestzorz.exs putstest [: a, 75,0, 42,857142857142854, 60,0, 42,857142857142854, 2,64e4] Questo dovrebbe essere utilizzato solo per il debug? –
Sì, 'IO.inspect' è progettato per il debug - in generale Elixir non ha modo di indovinare come si desidera rappresentare i dati e' IO.inspect' produrrà solo alcune rappresentazioni di default. Se hai bisogno di un formato di output specifico, dovrai scrivere del codice che lo produce. –