Spec-Zone.ru › Julia 0.6

Начало работы

Установка Julia проста, независимо от того, используете ли вы предварительно скомпилированные двоичные файлы или компилируете из исходного кода. Скачайте и установите Julia, следуя инструкциям на странице https://julialang.org/downloads/.

Самый простой способ изучить и поэкспериментировать с Julia — запустить интерактивную сессию (также известную как цикл чтения-оценки-печати или «repl») двойным щелчком по исполняемому файлу Julia или выполнением julia из командной строки:

$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: https://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.5.0-dev+2440 (2016-02-01 02:22 UTC)
 _/ |\__'_|_|_|\__'_|  |  Commit 2bb94d6 (11 days old master)
|__/                   |  x86_64-apple-darwin13.1.0

julia> 1 + 2
3

julia> ans
3

Для выхода из интерактивной сессии введите ^D — клавишу управления вместе с клавишей d или введите quit(). При запуске в интерактивном режиме julia отображает баннер и запрашивает ввод пользователя. После ввода полного выражения, такого как 1 + 2, и нажатия клавиши Enter, интерактивная сессия оценивает выражение и отображает его значение. Если выражение вводится в интерактивную сессию с заключительной точкой с запятой, его значение не отображается. Переменная ans привязана к значению последнего вычисленного выражения, отображается оно или нет. Переменная ans привязана только в интерактивных сессиях, а не при запуске кода Julia другими способами.

Для оценки выражений, записанных в файле исходного кода file.jl, выполните include("file.jl").

Чтобы выполнить код в файле в неинтерактивном режиме, вы можете указать его в качестве первого аргумента для команды julia:

$ julia script.jl arg1 arg2...

Как показывает пример, следующие аргументы командной строки для julia воспринимаются как аргументы командной строки для программы script.jl, передаваемые в глобальной константе ARGS. Имя самого скрипта передается в глобальную переменную PROGRAM_FILE. Обратите внимание, что ARGS также устанавливается, когда код скрипта предоставляется с помощью опции -e в командной строке (см. вывод справки julia ниже), но PROGRAM_FILE будет пустой. Например, чтобы просто вывести аргументы, переданные скрипту, вы можете сделать так:

$ julia -e 'println(PROGRAM_FILE); for x in ARGS; println(x); end' foo bar

foo
bar

Или вы можете поместить этот код в скрипт и запустить его:

$ echo 'println(PROGRAM_FILE); for x in ARGS; println(x); end' > script.jl
$ julia script.jl foo bar
script.jl
foo
bar

Разделитель -- может использоваться для разделения аргументов командной строки для скрипта от аргументов для Julia:

$ julia --color=yes -O -- foo.jl arg1 arg2..

Julia можно запустить в параллельном режиме с помощью опций -p или --machinefile. -p n запустит дополнительные n рабочих процессов, в то время как --machinefile file запустит рабочий процесс для каждой строки в файле file. Машины, определённые в file , должны быть доступны через бесклавиатурный ssh вход, с установленной Julia в том же месте, что и на текущем узле. Каждое определение машины имеет вид [count*][user@]host[:port] [bind_addr[:port]] . user по умолчанию — текущий пользователь, port — стандартный порт ssh. count — количество рабочих процессов, запускаемых на узле, по умолчанию 1. Необязательная опция bind-to bind_addr[:port] указывает IP-адрес и порт, которые другие рабочие процессы должны использовать для подключения к этому рабочему процессу.

Если у вас есть код, который вы хотите выполнять всякий раз, когда запускается Julia, вы можете поместить его в ~/.juliarc.jl:

$ echo 'println("Greetings! 你好! 안녕하세요?")' > ~/.juliarc.jl
$ julia
Greetings! 你好! 안녕하세요?

...

Существует множество способов выполнения кода Julia и предоставления опций, аналогичных тем, которые доступны для программ perl и ruby:

julia [switches] -- [programfile] [args...]
 -v, --version             Display version information
 -h, --help                Print this message

 -J, --sysimage <file>     Start up with the given system image file
 --precompiled={yes|no}    Use precompiled code from system image if available
 --compilecache={yes|no}   Enable/disable incremental precompilation of modules
 -H, --home <dir>          Set location of `julia` executable
 --startup-file={yes|no}   Load ~/.juliarc.jl
 --handle-signals={yes|no} Enable or disable Julia's default signal handlers

 -e, --eval <expr>         Evaluate <expr>
 -E, --print <expr>        Evaluate and show <expr>
 -L, --load <file>         Load <file> immediately on all processors

 -p, --procs {N|auto}      Integer value N launches N additional local worker processes
                           "auto" launches as many workers as the number of local cores
 --machinefile <file>      Run processes on hosts listed in <file>

 -i                        Interactive mode; REPL runs and isinteractive() is true
 -q, --quiet               Quiet startup (no banner)
 --color={yes|no}          Enable or disable color text
 --history-file={yes|no}   Load or save history

 --compile={yes|no|all|min}Enable or disable JIT compiler, or request exhaustive compilation
 -C, --cpu-target <target> Limit usage of cpu features up to <target>
 -O, --optimize={0,1,2,3}  Set the optimization level (default is 2 if unspecified or 3 if specified as -O)
 -g, -g <level>            Enable / Set the level of debug info generation (default is 1 if unspecified or 2 if specified as -g)
 --inline={yes|no}         Control whether inlining is permitted (overrides functions declared as @inline)
 --check-bounds={yes|no}   Emit bounds checks always or never (ignoring declarations)
 --math-mode={ieee,fast}   Disallow or enable unsafe floating point optimizations (overrides @fastmath declaration)

 --depwarn={yes|no|error}  Enable or disable syntax and method deprecation warnings ("error" turns warnings into errors)

 --output-o name           Generate an object file (including system image data)
 --output-ji name          Generate a system image data file (.ji)
 --output-bc name          Generate LLVM bitcode (.bc)
 --output-incremental=no   Generate an incremental output file (rather than complete)

 --code-coverage={none|user|all}, --code-coverage
                           Count executions of source lines (omitting setting is equivalent to "user")
 --track-allocation={none|user|all}, --track-allocation
                           Count bytes allocated by each source line

Ресурсы

В дополнение к этому руководству существуют различные другие ресурсы, которые могут помочь новым пользователям начать работу с Julia:

  • Справочник по Julia и IJulia

  • Изучите Julia за несколько минут

  • Изучите Julia нелегким путём

  • Julia на примерах

  • Практическое руководство по Julia

  • Учебник для курса численного анализа Гомера Рейда

  • Вводная презентация

  • Видеоуроки с семинара по Julia в MIT

  • Видеоролики с JuliaCons на YouTube

© 2009–2016 Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and other contributors
Licensed under the MIT License.
https://docs.julialang.org/en/release-0.6/manual/getting-started/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API