Литмир - Электронная Библиотека
Содержание  
A
A

Вадим Никитин

Julia. Язык программирования. Быстрый старт

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

Для того, чтобы приступить к работе, вам необходимо загрузить и установить дистрибутив Julia для вашей операционной системы (Windows, macOS, Linux, FreeBSD), следуя инструкциям на сайте https://julialang.org/downloads/. Некоторые дистрибутивы Linux включают Julia в состав своих пакетов, но убедитесь, что вы устанавливаете актуальную версию.

Это руководство написано на основе версии Julia 1.9.0, которая является текущей выпущенной версией Julia. Концепции, описанные в книге, носят общий характер и применимы к более поздним версиям языка. Однако, возможно, что некоторые выходные данные более поздних версий Julia могут не соответствовать результатам и примерам, представленным в этой книге.

Самый простой способ изучать и экспериментировать с Julia – это запустить интерактивный сеанс рабочей среды, дважды щелкнув на исполняемом файле Julia или запустить julia из командной строки:

Julia. Язык программирования. Быстрый старт - _0.jpg

Чтобы закончить интерактивный сеанс, используйте команду exit() или комбинацию клавиш CTRL + D.

Рабочая среда Julia

Рабочая среда Julia – REPL (от англ. read-eval-print loop – «цикл „чтение – вычисление – вывод“»), оболочка с полнофункциональной интерактивной командной строкой, встроенная в исполняемый файл julia. С помощью этой оболочки мы взаимодействуем с JIT-компилятором (англ. Just-in-Time, компиляция «точно в нужное время») для тестирования и запуска нашего кода, помимо этого доступна история команд с возможностью поиска, автодополнение с помощью табуляции, множество полезных привязок клавиш, а также специальные режимы справки и оболочки. REPL имеет пять режимов работы.

Основной режим

Это режим работы по умолчанию, каждая новая строка изначально начинается с приглашения julia>. Именно здесь вы можете вводить выражения Julia от простых до многострочных конструкций. Нажатие клавиши Return или Enter после ввода выражения запускает выполнение и вывод результата. Например:

julia> 2 + 2

4

julia> 5 * (5 – 1)

20

julia> 5/2

2.5

Или сообщения об ошибке если что то пошло не так:

julia> 5/"A"

ERROR: MethodError: no method matching /(::Int64, ::String)

Справочная система

Julia имеет встроенную справочную систему, которая извлекает информацию об использовании большинства функций непосредственно из исходного кода. Это справедливо и для большинства сторонних пакетов.

Для перехода в справочную систему Julia наберите ? (знак вопроса) в начале строки основного режима. Приглашение командной строки примет вид:

help?>

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

● Написание

● Однострочное описание

● Список аргументов

● Подсказки к аналогичным или связанным функциям

● Один или несколько примеров использования

● Список методов (для функций, которые имеют несколько реализаций)

Возврат в режим по умолчанию производится нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.

Дополнительно в дистрибутив Julia входит локальная копия официального сайта документации https://docs.julialang.org/en/v1/ расположенная:

[JULIA_INSTALL_FOLDER]/share/doc/julia/html/en (где JULIA_INSTALL_FOLDER – каталог, куда установлен Julia)

Что позволяет использовать сайт документации в системах изолированных от интернета.

Менеджер пакетов

После установки Julia вы получите компилятор, который преобразует написанный вами код на Julia в версию, которую может выполнить ваш компьютер, а так же стандартную библиотеку (иногда называемую Base), которая содержит базовую функциональность, встроенную в среду. Сюда входят такие вещи, как массивы и списки, числа и строки, некоторые основы линейной алгебры и статистики и т.д. Но в большинстве случаев, скорее всего, вам может потребоваться расширить функционал, загрузив и запустив внешние библиотеки, которые в Julia называются пакетами. Для работы с ними используется Pkg – встроенный менеджер пакетов Julia, который выполняет такие операции как: установка, обновление и удаление пакетов. Вход в него осуществляется нажатием клавиши ] в основном режиме. Приглашение командной строки примет вид:

(@v1.9) pkg>

Возврат в режим по умолчанию – нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.

Системная оболочка

Режим позволяет использовать командную оболочку операционной системы для выполнения системных команд. Для перехода наберите ; (точка с запятой) в начале строки основного режима. Приглашение командной строки примет вид:

shell>

Возврат в режим по умолчанию – нажатием комбинации клавиш CTRL-C или клавишей BACKSPACE в начале строки.

Для пользователей Windows режим оболочки Julia не предоставляет команд оболочки windows напрямую, дополнительно необходимо задать командную оболочку PowerShell или cmd.exe.

● PowerShell:

shell> powershell

Windows PowerShell

Copyright (C) Microsoft Corporation. All rights reserved.

PS C:\Users\julia>

● cmd.exe:

shell> cmd

Microsoft Windows [version 10.0.17763.973]

(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\julia>

Поиск по истории

Во всех вышеперечисленных режимах выполненные строки сохраняются в файл истории, по которому можно производить поиск. Чтобы инициировать инкрементный поиск по предыдущей истории, нажмите CTRL-R. Подсказка изменится на (reverse-i-search)`':. По мере ввода поисковый запрос будет появляться между символами `'. Самый последний результат, соответствующий запросу, будет динамически обновляться справа от двоеточия по мере набора текста. Чтобы найти более старый результат по тому же запросу, просто введите CTRL-R еще раз.

Так же как CTRL-R – поиск по истории назад, CTRL-S – поиск по истории вперед, с подсказкой (forward-i-search)`':. Эти две функции можно использовать в сочетании друг с другом для перехода к предыдущему или следующему результату поиска соответственно.

Все выполненные команды в REPL записываются в ~/.julia/logs/repl_history.jl вместе с меткой времени, когда они были выполнены, и текущим режимом REPL, в котором вы находились. Режим поиска запрашивает этот файл журнала, чтобы найти команды, которые вы выполняли ранее.

1
{"b":"848804","o":1}