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




● 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 https://github.com/<имя репозитория>/<имя пакета>.jl: Извлекает незарегистрированный пакет по URL-адресу (здесь это GitHub).

Использование пакетов

Чтобы получить доступ к функциональным возможностям установленного пакета, вам необходимо использовать команду 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")


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