Julia Language
REPL
Ricerca…
Sintassi
- julia>
- aiutare?>
- shell>
- \ [Latex]
Osservazioni
Altri pacchetti possono definire le proprie modalità REPL oltre alle modalità predefinite. Ad esempio, il pacchetto Cxx
definisce la modalità shell cxx>
per un REPL C ++. Queste modalità sono solitamente accessibili con i propri tasti speciali; vedere la documentazione del pacchetto per maggiori dettagli.
Avvia il REPL
Dopo aver installato Julia , per avviare il read-eval-print-loop (REPL):
Su sistemi Unix
Apri una finestra di terminale, quindi digita julia
al prompt, quindi premi Invio . Dovresti vedere qualcosa di simile:
Su Windows
Trova il programma Julia nel menu di avvio e fai clic su di esso. Il REPL dovrebbe essere lanciato.
Utilizzo del REPL come calcolatore
Il REPL Julia è un calcolatore eccellente. Possiamo iniziare con alcune semplici operazioni:
julia> 1 + 1
2
julia> 8 * 8
64
julia> 9 ^ 2
81
La variabile ans
contiene il risultato dell'ultimo calcolo:
julia> 4 + 9
13
julia> ans + 9
22
Possiamo definire le nostre variabili utilizzando l'operatore assignment =
:
julia> x = 10
10
julia> y = 20
20
julia> x + y
30
Julia ha una moltiplicazione implicita per i valori letterali numerici, il che rende alcuni calcoli più veloci da scrivere:
julia> 10x
100
julia> 2(x + y)
60
Se commettiamo un errore e facciamo qualcosa che non è permesso, il REPL di Julia genererà un errore, spesso con un suggerimento utile su come risolvere il problema:
julia> 1 ^ -1
ERROR: DomainError:
Cannot raise an integer x to a negative power -n.
Make x a float by adding a zero decimal (e.g. 2.0^-n instead of 2^-n), or write
1/x^n, float(x)^-n, or (x//1)^-n.
in power_by_squaring at ./intfuncs.jl:82
in ^ at ./intfuncs.jl:106
julia> 1.0 ^ -1
1.0
Per accedere o modificare i comandi precedenti, utilizzare il tasto ↑ (Su), che si sposta sull'ultimo elemento della cronologia. Il ↓ si sposta sull'elemento successivo nella cronologia. I tasti ← e → possono essere utilizzati per spostare e apportare modifiche a una linea.
Julia ha alcune costanti matematiche incorporate, tra cui e
e pi
(o π
).
julia> e
e = 2.7182818284590...
julia> pi
π = 3.1415926535897...
julia> 3π
9.42477796076938
Possiamo digitare rapidamente caratteri come π
usando i loro codici LaTeX: premi \ , quindi p e i , quindi premi il tasto Tab per sostituire il \pi
appena digitato con π
. Funziona con altre lettere greche e simboli Unicode aggiuntivi.
Possiamo utilizzare qualsiasi funzione matematica integrata di Julia, che va dalla semplice alla abbastanza potente:
julia> cos(π)
-1.0
julia> besselh(1, 1, 1)
0.44005058574493355 - 0.7812128213002889im
I numeri complessi sono supportati usando im
come unità immaginaria:
julia> abs(3 + 4im)
5.0
Alcune funzioni non restituiscono un risultato complesso a meno che non gli dai un input complesso, anche se l'input è reale:
julia> sqrt(-1)
ERROR: DomainError:
sqrt will only return a complex result if called with a complex argument. Try
sqrt(complex(x)).
in sqrt at math.jl:146
julia> sqrt(-1+0im)
0.0 + 1.0im
julia> sqrt(complex(-1))
0.0 + 1.0im
Le operazioni esatte sui numeri razionali sono possibili usando l'operatore //
rational division:
julia> 1//3 + 1//3
2//3
Vedi l'argomento Arithmetic per ulteriori informazioni su quali tipi di operatori aritmetici sono supportati da Julia.
Trattare con la precisione della macchina
Si noti che gli interi macchina sono vincolati in termini di dimensioni e si riempiranno se il risultato è troppo grande per essere archiviato:
julia> 2^62
4611686018427387904
julia> 2^63
-9223372036854775808
Questo può essere evitato usando numeri interi arbitrari di precisione nel calcolo:
julia> big"2"^62
4611686018427387904
julia> big"2"^63
9223372036854775808
Anche i punti mobili della macchina sono limitati in precisione:
julia> 0.1 + 0.2
0.30000000000000004
Più (ma ancora limitata) precisione è possibile usando di nuovo big
julia> big"0.1" + big"0.2"
3.000000000000000000000000000000000000000000000000000000000000000000000000000017e-01
L'aritmetica esatta può essere eseguita in alcuni casi usando Rational
s:
julia> 1//10 + 2//10
3//10
Utilizzo delle modalità REPL
Esistono tre modalità REPL incorporate in Julia: la modalità Julia, la modalità di guida e la modalità shell.
La modalità Guida
Julia REPL è dotato di un sistema di aiuto integrato. Premere ? al prompt di julia>
per accedere al prompt help?>
.
Al prompt della guida, digitare il nome di alcune funzioni o tipi per ottenere aiuto per:
Anche se non si scrive correttamente la funzione, Julia può suggerire alcune funzioni che potrebbero essere ciò che intendevi:
help?> printline
search:
Couldn't find printline
Perhaps you meant println, pipeline, @inline or print
No documentation found.
Binding printline does not exist.
Questa documentazione funziona anche per altri moduli, purché utilizzino il sistema di documentazione di Julia.
julia> using Currencies
help?> @usingcurrencies
Export each given currency symbol into the current namespace. The individual unit
exported will be a full unit of the currency specified, not the smallest possible
unit. For instance, @usingcurrencies EUR will export EUR, a currency unit worth
1€, not a currency unit worth 0.01€.
@usingcurrencies EUR, GBP, AUD
7AUD # 7.00 AUD
There is no sane unit for certain currencies like XAU or XAG, so this macro does
not work for those. Instead, define them manually:
const XAU = Monetary(:XAU; precision=4)
La modalità Shell
Vedi Usare Shell all'interno del REPL per maggiori dettagli su come utilizzare la modalità shell di Julia, che è accessibile premendo ; al prompt. Questa modalità shell supporta l'interpolazione dei dati dalla sessione REPL Julia, il che rende facile chiamare le funzioni di Julia e rendere i loro risultati nei comandi della shell: