Поиск…


Синтаксис

  • джулия>
  • помочь?>
  • оболочка>
  • \[латекс]

замечания

Другие пакеты могут определять свои собственные режимы REPL в дополнение к режимам по умолчанию. Например, пакет Cxx определяет режим оболочки cxx> для C ++ REPL. Эти режимы обычно доступны с помощью собственных специальных клавиш; см. документацию по упаковке для более подробной информации.

Запустить REPL

После установки Julia для запуска цикла read-eval-print-loop (REPL):

В Unix-системах

Откройте окно терминала, затем введите julia в приглашении, а затем нажмите Return . Вы должны увидеть что-то вроде этого:

julia в искусстве ASCII, а также некоторые сведения о версии

В Windows

Найдите программу Julia в меню «Пуск» и щелкните по ней. REPL должен быть запущен.

Использование REPL в качестве калькулятора

Julia REPL - отличный калькулятор. Мы можем начать с простых операций:

julia> 1 + 1
2

julia> 8 * 8
64

julia> 9 ^ 2
81

Переменная ans содержит результат последнего вычисления:

julia> 4 + 9
13

julia> ans + 9
22

Мы можем определить собственные переменные, используя оператор присваивания = :

julia> x = 10
10

julia> y = 20
20

julia> x + y
30

У Джулии есть неявное умножение для числовых литералов, что позволяет некоторым вычислениям быстрее писать:

julia> 10x
100

julia> 2(x + y)
60

Если мы допустим ошибку и сделаем то, что не разрешено, Julia REPL выдает ошибку, часто с полезным советом о том, как исправить проблему:

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

Для доступа или редактирования предыдущих команд используйте клавишу (Вверх), которая перемещается к последнему элементу в истории. переходит к следующему элементу в истории. Клавиши и можно использовать для перемещения и редактирования в строке.

У Джулии есть некоторые встроенные математические константы, включая e и pi (или π ).

julia> e
e = 2.7182818284590...

julia> pi
π = 3.1415926535897...

julia> 3π
9.42477796076938

Мы можем набирать символы типа π быстро, используя их коды LaTeX: нажмите \ , затем p и i , затем нажмите клавишу Tab, чтобы подставить \pi просто набранный π . Это работает для других греческих букв и дополнительных символов Юникода.

Мы можем использовать любые встроенные математические функции Julia, которые варьируются от простых до довольно мощных:

julia> cos(π)
-1.0

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

Сложные числа поддерживаются с помощью im как мнимой единицы:

julia> abs(3 + 4im)
5.0

Некоторые функции не возвратят сложный результат, если вы не дадите ему сложный ввод, даже если вход является реальным:

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

Точные операции над рациональными числами возможны с использованием оператора // рационального деления:

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

См. Раздел « Арифметика» для получения дополнительной информации о том, какие типы арифметических операторов поддерживаются Джулией.

Работа с точностью машины

Обратите внимание, что целые числа машины ограничены по размеру и будут переполняться, если результат слишком велик для хранения:

julia> 2^62
4611686018427387904

julia> 2^63
-9223372036854775808

Этого можно предотвратить с помощью целых чисел произвольной точности в вычислении:

julia> big"2"^62
4611686018427387904

julia> big"2"^63
9223372036854775808

Точки с плавающей запятой также ограничены точностью:

julia> 0.1 + 0.2
0.30000000000000004

Больше (но все же ограничено) точность возможна за счет использования big :

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

Точная арифметика может быть выполнена в некоторых случаях с использованием Rational s:

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

Использование режимов REPL

В Julia есть три встроенных режима REPL: режим Julia, режим помощи и режим оболочки.

Режим справки

Julia REPL поставляется со встроенной системой помощи. Нажмите ? в приглашении julia> для доступа к help?> .

В командной строке введите имя какой-либо функции или типа, чтобы получить справку для:

help?> abs; поиск: abs abs2 abspath abstract AbstractRNG AbstractFloat AbstractArray; абс (х); Абсолютное значение x; Когда abs применяется к целым числам со знаком, может произойти переполнение, что приведет к возврату отрицательного значения. Это переполнение происходит только тогда, когда абс применяется к минимальному представляемому значению целого числа со знаком. То есть, когда x == typemin (typeof (x)), abs (x) == x <0, а не -x, как можно было бы ожидать.

Даже если вы не правильно произнесете функцию, Джулия может предложить некоторые функции, которые, возможно, вы имели в виду:

help?> printline
search:

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

  Binding printline does not exist.

Эта документация работает и для других модулей, если они используют систему документации 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)

Режим оболочки

См Использование Shell внутри РЕПЛ для получения более подробной информации о том , как использовать режим оболочки Джулии, которая доступна, нажав; в подсказке. Этот режим оболочки поддерживает интерполяцию данных из сеанса Julia REPL, что позволяет легко вызвать функции Julia и сделать их результаты в командах оболочки:

shell> ls $ (Pkg.dir ("JSON")); данные приложения appveyor.yml LICENSE.md nohup.out README.md REQUIRE src test



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow