JuliaCon 2020 | Демонстрация, показ и печать — как работает система отображения Julia | Фредрик Экре
The Julia Programming Language
0:00 / 0:00
JuliaCon 2020 | Демонстрация, показ и печать — как работает система отображения Julia | Фредрик Экре
4 302 просмотра · 6 лет назад
The Julia Programming Language
90,9 тыс. подписчиков
4 302 просмотра · 6 лет назад
После выполнения кода Julia вам отображается результат. В интерактивной среде Julia REPL обычно вы видите простое текстовое представление. Однако в других средах, например, в Jupyter Notebook, иногда отображается более насыщенное представление вывода. В этом докладе будет рассказано о том, как работает система отображения Julia при представлении вывода пользователю, какие методы вызываются и когда, а также как реализовать «красивый вывод» для пользовательских типов.
Когда Julia завершает вычисления и получает значение, пользователю отображается результат. В интерактивной среде Julia REPL результат обычно представляется в виде обычного текста. В других средах, например, в Jupyter Notebook, иногда отображаются более насыщенные представления, например, некоторые значения отображаются как HTML, а другие — как изображения.
Основными функциями, отвечающими за вывод в Julia, являются display и show. Обычно display — это первый метод, вызываемый при отображении объекта пользователю. Функция display реализуется средствами отображения, такими как интерактивная среда Julia REPL, IDE или интерфейс блокнота. Затем display запрашивает вывод из show с определенным так называемым MIME-типом. Какие MIME-типы запрашиваются, зависит от того, какой вывод может отобразить дисплей пользователю. Например, REPL в основном работает с MIME-типом text/plain, а дисплей ноутбука поддерживает несколько дополнительных MIME-типов, например image/png для вывода изображений, text/html для вывода HTML и так далее. На первый взгляд, система отображения может показаться довольно простой, но в ней много скрытых сложностей.
Чтобы воспользоваться преимуществами богатой системы отображения и реализовать «красивый вывод» для пользовательского типа, обычно достаточно реализовать методы show с определенными MIME-типами. Все типы получают текстовое представление по умолчанию, но это легко можно переопределить, реализовав метод show с MIME-типом text/plain. Если тип может быть представлен в более богатых форматах, легко добавить дополнительные методы. Например, для поддержки вывода изображений в ноутбуке достаточно реализовать метод show с MIME-типом image/png.
В этом докладе будет представлено, как работает система отображения в Julia, и описан процесс преобразования выходного объекта в результат для отображения пользователю. Также будет показан пример этого процесса на примере настройки вывода для ваших собственных типов. Временные метки:
00:00 Добро пожаловать!
00:10 Помогите нам добавить временные метки или субтитры к этому видео! Подробности в описании.
Хотите помочь добавить временные метки к нашим видео на YouTube для повышения их доступности? Узнайте больше здесь: https://github.com/JuliaCommunity/You...
Заинтересованы в улучшении автоматически генерируемых субтитров? Присоединяйтесь здесь: https://github.com/JuliaCommunity/You...