Начало работы
Установка Julia проста, независимо от того, используете ли вы предварительно скомпилированные двоичные файлы или компилируете из исходного кода. Скачайте и установите Julia, следуя инструкциям на сайте http://julialang.org/downloads/.
Самый простой способ изучить и поэкспериментировать с Julia — начать интерактивную сессию (также известную как цикл «чтение-вычисление-вывод» или «repl»), дважды щелкнув исполняемый файл Julia или выполнив julia из командной строки:
$ julia
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: http://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, и нажатия клавиши ввода, интерактивная сессия вычисляет выражение и показывает его значение. Если выражение вводится в интерактивную сессию с заключительной точкой с запятой, его значение не отображается. Переменная 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 2 if unspecified or 3 if specified as -O)
--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
- Учебные пособия Forio по Julia
- Видеоролики с 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.5/manual/getting-started/