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

Pluto – это другой блокнот, созданный специально для работы с языком программирования Julia. Блокнот Pluto состоит из небольших блоков кода Julia (ячеек), и вместе они образуют реактивный блокнот. Когда вы меняете переменную, Pluto автоматически перезапускает ячейки, которые на нее ссылаются. Ячейки можно размещать в произвольном порядке – интеллектуальный синтаксический анализ определяет зависимости между ними и позаботится о выполнении. Некоторые отличительные черты Pluto:

? Реактивность – при изменении функции или переменной Pluto автоматически обновляет все затронутые ячейки.

? Pluto написан на Julia и прост в установке.

? Прост в использовании.

<p>Пакеты в Julia</p>

Julia имеет модульную конструкцию – компактное ядро, функциональность которого расширяется внешними «пакетами». Дистрибутив Julia поставляется с небольшим набором этих пакетов, называемым «стандартной библиотекой», и мощным менеджером пакетов, который может загружать пакеты, предварительно компилировать, обновлять и разрешать зависимости, и все это с помощью нескольких простых команд.

В то время как зарегистрированные пакеты можно установить, просто используя их имя, для незарегистрированных пакетов необходимо указать их исходное местоположение. На момент написания этого текста было опубликовано более 9000 зарегистрированных пакетов. Знание того, как работают пакеты, крайне необходимо для эффективной работы в Julia, и именно поэтому управление пакетами представлено в начале руководства.

<p>Использование диспетчера пакетов</p>

Есть два способа получить доступ к функциям управления пакетами, в интерактивном режиме или через API из кода программы Julia:

? 1.Интерактивный способ – ввести ] в консоли REPL, чтобы войти в «особый» режим pkg. Приглашение изменится с julia> на (vX.Y) pkg>, где vX.Y – версия активной среды Julia. Затем вы можете запустить любые команды диспетчера пакетов или вернуться в обычный режим интерпретатора с помощью комбинации клавиш CTRL-C или клавиши BACKSPACE в начале строки.

? 2.Способ API заключается в том, чтобы импортировать модуль Pkg в код программы (using Pkg), а затем выполнить команду Pkg.<команда менеджера пакетов>(<аргументы команды>). Очевидно, ничто не мешает вам использовать подход API и в интерактивном сеансе, но в специальном пакетном режиме есть автозавершение и другие полезные функции, которые делают его более удобным в использовании.

Обратите внимание, что два интерфейса не на 100 % совместимы, а интерфейс API несколько более строгий.

Некоторые из полезных команд диспетчера пакетов:

? status: Извлекает список (имя и версию) локально установленных пакетов.

? update: Обновляет локальный индекс пакетов и все локальные пакеты до последней версии.

? add <имя пакета>: Автоматически загружает и устанавливает заданный пакет. Для нескольких пакетов используйте add <имя пакета 1> <имя пакета 2>.

? add <имя пакета>#master, add <имя пакета>#branchName или add <имя пакета>#vX.Y.Z: Извлекает главную ветвь данного пакета, определенную ветвь или определенный выпуск соответственно.

? free <имя пакета>: Возвращает пакет к последнему выпуску.

? rm <имя пакета>: Удаляет пакет и все зависимые от него пакеты, которые были автоматически установлены только для него.

? addрепозитория>/<имя пакета>.jl: Извлекает незарегистрированный пакет по URL-адресу (здесь это GitHub).

<p>Использование пакетов</p>

Чтобы получить доступ к функциональным возможностям установленного пакета, вам необходимо использовать команду using или import. Разница между ними заключается в следующем:

? Использование пакета позволяет получить прямой доступ к функциям пакета. Просто используйте команду using <имя пакета> в консоли REPL или поместите в начало файла скрипта.

? Импорт пакета делает то же самое, но помогает поддерживать чистоту пространства имен, так как затем вам нужно обращаться к функциям пакета, используя их полные имена <имя пакета>.<имя функции>. Вы можете использовать псевдонимы или выбрать импорт только подмножества функций (к которым вы затем сможете получить прямой доступ).

Например, чтобы получить доступ к функции now из пакета Dates (идет в комплекте дистрибутива), вы можете сделать следующее:

? Получите прямой доступ к функциям пакета с помощью using <имя пакета> :

julia> using Dates

julia> now

2023-05-13T20:23:03.187

? Получите доступ к функциям пакета, используя их полные имена, с помощью import <имя пакета>:

julia> import Dates

julia> Dates.now

2023-05-13T20:43:04.801

? Получите прямой доступ к функциям пакета с помощью import <имя пакета>:<имя функции> :

julia> import Dates:now

julia> now

2023-05-13T20:46:53.542

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

include("<путь к файлу><имя файла>.jl")

Когда эта строка выполняется, включенный файл полностью запускается (не только анализируется), и любой определенный там символ становится доступным в области видимости (область кода, в которой видна переменная) относительно того места, где было вызвано включение.

Перейти на страницу:

Похожие книги

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии