Sök…


Syntax

  • julia>
  • Hjälp>
  • skal>
  • \[latex]

Anmärkningar

Andra paket kan definiera sina egna REPL-lägen utöver standardlägen. Till exempel definierar Cxx paketet cxx> shell-läget för en C ++ REPL. Dessa lägen är vanligtvis tillgängliga med sina egna specialtangenter; se paketdokumentation för mer information.

Starta REPL

För att starta read-eval-print-loop (REPL) efter installation av Julia :

På Unix Systems

Öppna ett terminalfönster, skriv sedan julia tryck sedan på Return . Du borde se att något liknande kommer upp:

julia i ASCII-konst, tillsammans med viss versioninformation

På Windows

Hitta Julia-programmet i din startmeny och klicka på det. REPL bör lanseras.

Använda REPL som en kalkylator

Julia REPL är en utmärkt kalkylator. Vi kan börja med några enkla åtgärder:

julia> 1 + 1
2

julia> 8 * 8
64

julia> 9 ^ 2
81

ans variabeln innehåller resultatet av den senaste beräkningen:

julia> 4 + 9
13

julia> ans + 9
22

Vi kan definiera våra egna variabler med uppdraget = operatör:

julia> x = 10
10

julia> y = 20
20

julia> x + y
30

Julia har implicit multiplikation för numeriska bokstäver, vilket gör vissa beräkningar snabbare att skriva:

julia> 10x
100

julia> 2(x + y)
60

Om vi gör ett misstag och gör något som inte är tillåtet kommer Julia REPL att kasta ett fel, ofta med ett användbart tips om hur du löser problemet:

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

För att komma åt eller redigera tidigare kommandon använder du knappen Up (Upp) som flyttar till det sista objektet i historiken. flyttar till nästa objekt i historiken. Knapparna ← och kan användas för att flytta och göra ändringar till en rad.

Julia har några inbyggda matematiska konstanter, inklusive e och pi (eller π ).

julia> e
e = 2.7182818284590...

julia> pi
π = 3.1415926535897...

julia> 3π
9.42477796076938

Vi kan skriva in tecken som π snabbt genom att använda deras LaTeX-koder: tryck på \ , sedan p och i , tryck sedan på Tab- tangenten för att ersätta \pi just skrivs med π . Detta fungerar för andra grekiska bokstäver och ytterligare unicodesymboler.

Vi kan använda någon av Julias inbyggda matematikfunktioner, som sträcker sig från enkla till ganska kraftfulla:

julia> cos(π)
-1.0

julia> besselh(1, 1, 1)
0.44005058574493355 - 0.7812128213002889im

Komplexa nummer stöds med im som en imaginär enhet:

julia> abs(3 + 4im)
5.0

Vissa funktioner returnerar inte ett komplext resultat om du inte ger det en komplex inmatning, även om ingången är verklig:

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

Exakta operationer med rationella nummer är möjliga med hjälp av // rationell divisionsoperatör:

julia> 1//3 + 1//3
2//3

Se aritmetiskt ämne för mer information om vilka typer av aritmetiska operatörer som stöds av Julia.

Hantera maskinens precision

Observera att maskinens heltal är begränsade i storlek och kommer att flöda om resultatet är för stort för att lagras:

julia> 2^62
4611686018427387904

julia> 2^63
-9223372036854775808

Detta kan förhindras genom att använda heltal med godtycklig precision i beräkningen:

julia> big"2"^62
4611686018427387904

julia> big"2"^63
9223372036854775808

Maskinens flytande punkter är också begränsade i precision:

julia> 0.1 + 0.2
0.30000000000000004

Mer (men fortfarande begränsad) precision är möjlig genom att använda igen big :

julia> big"0.1" + big"0.2"
3.000000000000000000000000000000000000000000000000000000000000000000000000000017e-01

Exakt aritmetik kan göras i vissa fall med Rational :

julia> 1//10 + 2//10
3//10

Använda REPL-lägen

Det finns tre inbyggda REPL-lägen i Julia: Julia-läget, hjälpläget och skal-läget.

Hjälpläget

Julia REPL kommer med ett inbyggt hjälpsystem. Pressa ? vid julia> prompt för att komma åt help?> prompt.

Skriv hjälpnamnet på någon funktion eller typ för att få hjälp för:

hjälp?> abs; search: abs abs2 abspath abstract AbstractRNG AbstractFloat AbstractArray; abs (x); Det absoluta värdet på x .; När abs appliceras på signerade heltal kan överflöd inträffa, vilket resulterar i att ett negativt värde returneras. Detta överflöde inträffar endast när abs tillämpas på det minimum representabla värdet för ett signerat heltal. Det vill säga när x == typemin (typeof (x)), abs (x) == x <0, inte -x som kan förväntas.

Även om du inte stavar funktionen på rätt sätt kan Julia föreslå några funktioner som kan vara vad du menade:

help?> printline
search:

Couldn't find printline
Perhaps you meant println, pipeline, @inline or print
  No documentation found.

  Binding printline does not exist.

Denna dokumentation fungerar också för andra moduler, så länge de använder Julia-dokumentationssystemet.

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)

Shell-läget

Se Använda skal från insidan av REPL för mer information om hur du använder Julias skalläge, som är tillgängligt genom att slå ; direkt. Detta skalläge stöder interpolering av data från Julia REPL-sessionen, vilket gör det enkelt att ringa Julia-funktioner och göra deras resultat till skalkommandon:

skal> ls $ (Pkg.dir ("JSON")); appveyor.yml bänkdata LICENSE.md nohup.out README.md KRAV src test



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow