Изучаем Wolfram Language - 3. Интерфейс Mathematica

После того как вы запустите Mathematica (WM), вам отобразится пустой блокнот, который похож на обычный блокнот в Windows (notepad.exe). В предыдущих версиях интерфейс этого блокнота был еще более минималистичным и не содержал дополнительных кнопок под основным меню. Приступим к его изучению!

Основное меню

Меню File

Меню File

Собственно как и в любом другом приложении рабочего стола у нас есть список пунктов меню с выпадающими списками. Они все довольно стандартны и в основном не требуют разъяснений. Но я отмечу несколько важных пунктов, которые в среднем используются чаще всего:

  • File > New > (Notebook, Presenter Notebook, Package/Script > (Wolfram Language Package))

Создает новый файл - блокнот, презентацию, пакет или скрипт

  • File > Save

Сохраняет текущий файл

  • Edit > Preferences

Открывает настройки

  • Format > ..

Меню посвящённое форматированию стилей документа, ячеек и текста

  • Evaluation > (Evaluate Notebook, Evaluate Initialization Cells, Quit Kernel)

Выполняет весь код блокнота, только ячейки инициализации, останавливает ядро

Дополнительное меню

На нем можно не останавливаться подробно. Единственное, что важно знать - это то, что в большинстве случаев кнопки дополнительного меню дублируют те команды основного меню, которые статистически чаще всего используются: форматирование, выполнение кода и вставка объектов в документ.

Ячейки

То, что мы рассмотрели выше - относится к интерфейсу приложения рабочего стола. Эта часть интерфейса может различаться в разных версиях или на разных платформах. Например, в Wolfram Cloud основное меню выглядит по другому. Но самой важной частью UI в Mathematica являются ячейки. Ячейка - это основной блок, из которого состоят документы Wolfram Mathematica. Те, кто знаком с такими приложениями как Jupyter или Observablehq хорошо представляют что такое ячейки. Кроме того, пока я пишу этот текст - я также пользуюсь похожими блоками в редакторе Pikabu.

Если в пустом документе я нажму на кнопку "+", то появится выпадающее меню, в котором приложение предложит мне выбрать тип создаваемой ячейки.

Выпадающее меню с выбором типа новой ячейки

Выпадающее меню с выбором типа новой ячейки

Я выберу первый пункт "Wolrfam Language Input". Тогда создастся ячейка с типом по умолчанию:

Курсор в новой ячейке

Курсор в новой ячейке

Я создал ячейку. Справа ячейка отделена квадратной скобочкой. На скриншоте видно, что слева в данный момент располагается курсор. Теперь можно ввести любой текст:

1+1

1+1

Так как я создал input-ячейку, то она является исполняемой, т.е. Mathematica предполагает, что в таких ячейках располагается код, который можно выполнить. Для этого достаточно нажать сочетание клавиш SHIFT + ENTER.

Результат выполнения SHIFT + ENTER

Результат выполнения SHIFT + ENTER

Что мы видим в интерфейсе:

  1. input - код переданный на вход

  2. ouput - результат выполнения кода, т.е. вывод

  3. номер в истории ввода

  4. номера в истории вывода

Мы создали ячейку ввода и нажали SHIFT + ENTER. Но что произошло далее? Приложение считало из ячейки код, т.е. 1 + 1. Отправило его в интерпретатор WL. Интерпретатор вычислил этот код и вернул результат (2) в интерфейс. Интерфейс получил результат, напечатал новую ячейку с типом output и вставил в нее результат выполнения. Т.е. вывод - это тоже такая же ячейка, которая создается после выполнения ячейки с кодом.

Есть еще один способ создания ячейки ввода. Нужно кликнуть мышью в любое пустое пространство - после всех ячеек или между двумя существующими ячейками и начать набирать любой текст. Тогда точно так же создается ячейка с типом input.

Какие еще есть типы ячеек? Во-первых, они подразделяются на текстовые и исполняемые. Всего существует два типа исполняемых ячеек - input и code. Текстовых ячеек намного больше. Все типы доступные в текущем документе можно найти в выпадающем меню:

При выборе любого типа в документ в текущее положение курсора вставляется пустая ячейка. Типов довольно много, но есть несколько самых популярных. Они вставляются при помощи сочетания клавиш ALT + 1, 2, ..9:

  • ALT + 1 - заголовок

  • ALT + 2 - подзаголовок

  • ALT + 3 - раздел

  • ALT + 4 - секция

  • ALT + 5 - подсекция

  • ALT + 6 - подсекция второго уровня

  • ALT + 7 - текст

  • ALT + 8 - код

  • ALT + 9 - инпут

Как выглядят ячейки разного типа в документе

Как выглядят ячейки разного типа в документе

Первые семь ячеек на скриншоте выше текстовые, т.е. в них можно создавать форматированный текст. 8 и 9 ячейки интерпретируются как код. Разница между ними в стиле, а так же в том, что ячейки с типом code (ALT + 8) интерпретируются как ячейки инициализации.

Любую ячейку можно выделить и вызвать контекстное меню. Для этого нужно кликнуть по скобочке справа правой кнопкой мыши:

В контекстном меню можно изменить форматирование, сменить тип, выполнить, удалить и т.д.

Еще один важный момент. На скриншотам выше видно, что ячейки сгруппированы. Если ячейка имеет тип "заголовок", все для остальных типов она будет "главной" в группе. Группу ячеек можно выполнить целиком или удалить целиком. А так же вырезать, копировать и другие действия. Иерархия чем-то похожа на теги h1/h2/h3/.. в HTML.

Собственно, на этом на сегодня все. Мы коротко рассмотрели основное меню и познакомились с ячейками и их типами. Но это далеко не все. В дальнейшем мы постепенно узнаем и другие особенности UI. Но пока что нужно знать самое важное:

  1. Mathmetica - это "подсмотрщик документов" со своим специфичным интерфейсом

  2. Все документы независимо от подсмотрщика состоят из ячеек и только из них. Ячейки могут группироваться и иметь различные типы.

  3. Есть два основных вида ячеек - исполняемые и текстовые