Szukaj…


Składnia

  • Julia>
  • pomoc?>
  • muszla>
  • \[lateks]

Uwagi

Inne pakiety mogą definiować własne tryby REPL oprócz trybów domyślnych. Na przykład pakiet Cxx definiuje tryb powłoki cxx> dla REPL C ++. Tryby te są zwykle dostępne za pomocą własnych klawiszy specjalnych; więcej informacji w dokumentacji pakietu.

Uruchom REPL

Po zainstalowaniu Julii , aby uruchomić pętlę read-eval-print-REPL (REPL):

W systemach Unix

Otwórz okno terminala, wpisz julia po julia zachęty, a następnie naciśnij Return . Powinieneś zobaczyć coś takiego:

Julia w sztuce ASCII, wraz z niektórymi informacjami o wersji

W systemie Windows

Znajdź program Julia w menu Start i kliknij go. REPL powinien zostać uruchomiony.

Używanie REPL jako kalkulatora

Julia REPL to doskonały kalkulator. Możemy zacząć od kilku prostych operacji:

julia> 1 + 1
2

julia> 8 * 8
64

julia> 9 ^ 2
81

Zmienna ans zawiera wynik ostatniego obliczenia:

julia> 4 + 9
13

julia> ans + 9
22

Możemy zdefiniować własne zmienne za pomocą operatora przypisania = :

julia> x = 10
10

julia> y = 20
20

julia> x + y
30

Julia ma ukryte mnożenie literałów numerycznych, co przyspiesza zapisywanie niektórych obliczeń:

julia> 10x
100

julia> 2(x + y)
60

Jeśli popełnimy błąd i zrobimy coś, co jest niedozwolone, Julia REPL zgłosi błąd, często z pomocną wskazówką, jak rozwiązać problem:

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

Aby uzyskać dostęp do poprzednich poleceń lub edytować je, użyj klawisza (w górę), aby przejść do ostatniego elementu w historii. przechodzi do następnego elementu w historii. Klawisze i mogą być używane do przesuwania i edycji linii.

Julia ma wbudowane stałe matematyczne, w tym e i pi (lub π ).

julia> e
e = 2.7182818284590...

julia> pi
π = 3.1415926535897...

julia> 3π
9.42477796076938

Możemy szybko wpisać znaki takie jak π za pomocą ich kodów LaTeX: naciśnij \ , następnie p i i , a następnie naciśnij klawisz Tab , aby zastąpić \pi właśnie wpisanym π . Działa to w przypadku innych greckich liter i dodatkowych symboli Unicode.

Możemy użyć dowolnej z wbudowanych funkcji matematycznych Julii, od prostych do dość potężnych:

julia> cos(π)
-1.0

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

Liczby zespolone są obsługiwane przy użyciu im jako jednostki urojonej:

julia> abs(3 + 4im)
5.0

Niektóre funkcje nie zwrócą złożonego wyniku, chyba że podasz złożone dane wejściowe, nawet jeśli dane wejściowe są prawdziwe:

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

Dokładne operacje na liczbach wymiernych są możliwe przy użyciu // operatora racjonalnego podziału:

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

Zobacz temat Arytmetyka, aby dowiedzieć się, jakie rodzaje operatorów arytmetycznych są obsługiwane przez Julię.

Radzenie sobie z precyzją maszyny

Zauważ, że liczby całkowite maszyny są ograniczone pod względem wielkości i przepełnią się, jeśli wynik będzie zbyt duży, aby go zapisać:

julia> 2^62
4611686018427387904

julia> 2^63
-9223372036854775808

Można temu zapobiec, stosując w obliczeniach liczby całkowite o dowolnej dokładności:

julia> big"2"^62
4611686018427387904

julia> big"2"^63
9223372036854775808

Punkty zmiennoprzecinkowe maszyny są również ograniczone w precyzji:

julia> 0.1 + 0.2
0.30000000000000004

Większa (ale wciąż ograniczona) precyzja jest możliwa ponownie dzięki big :

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

Dokładną arytmetykę można wykonać w niektórych przypadkach za pomocą produktu Rational s:

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

Korzystanie z trybów REPL

Istnieją trzy wbudowane tryby REPL w Julii: tryb Julia, tryb pomocy i tryb powłoki.

Tryb pomocy

Julia REPL ma wbudowany system pomocy. Naciśnij ? po julia> zachęty julia> aby uzyskać dostęp do help?> .

W wierszu pomocy wpisz nazwę funkcji lub wpisz, aby uzyskać pomoc dotyczącą:

pomoc?> abs; szukaj: abs abs2 abspath abstract AbstractRNG AbstractFloat AbstractArray; abs (x); Wartość bezwzględna x .; Gdy abs zostanie zastosowane do liczb całkowitych ze znakiem, może wystąpić przepełnienie, co spowoduje zwrócenie wartości ujemnej. To przepełnienie występuje tylko wtedy, gdy abs zostanie zastosowane do minimalnej reprezentatywnej wartości podpisanej liczby całkowitej. To znaczy, gdy x == typemin (typeof (x)), abs (x) == x <0, a nie -x, jak można się spodziewać.

Nawet jeśli nie przeliterujesz poprawnie tej funkcji, Julia może zasugerować niektóre funkcje, które prawdopodobnie są takie, o których mówiłeś:

help?> printline
search:

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

  Binding printline does not exist.

Ta dokumentacja działa również dla innych modułów, o ile używają systemu dokumentacji Julii.

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)

Tryb powłoki

Zobacz Używanie powłoki z REPL, aby uzyskać więcej informacji na temat korzystania z trybu powłoki Julii, który jest dostępny po naciśnięciu ; w odpowiedzi na monit. Ten tryb powłoki obsługuje interpolację danych z sesji Julia REPL, co ułatwia wywoływanie funkcji Julii i przekształcanie ich wyników w polecenia powłoki:

shell> ls $ (Pkg.dir („JSON”)); appveyor.yml bench data LICENSE.md nohup.out README.md WYMÓG test src



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow