Это продолжение книги Как научиться программировать простым способом (часть 1).

Мы закончили разговор о программе, поставляемой с вашим Mac, под названием «Терминал». По сути, это небольшое белое поле, которое выскакивает, в которое вы можете писать слова, и оно выполняет на вашем компьютере такие вещи, как установка программ и запуск кода.

Разработчики используют Терминал для подключения к компьютерам в удаленных местах, для установки языков программирования и для выполнения команд, запускающих и останавливающих программы. Когда вы разрабатываете программу, у вас не будет симпатичного маленького значка, по которому вы можете щелкнуть, чтобы запустить программу, поэтому вам нужен способ запуска, и здесь появляется Терминал.

В конце этой статьи, после того, как мы познакомились с некоторыми основами работы с Терминалом и установили Elixir, мы собираемся ввести в Терминал команду, которая запустит код, который мы написали в Части 1, и распечатать «Hello World!» в Терминале.

Шаг 1 - Терминал

Давайте откроем Терминал! Перейдите в представление приложений и найдите Терминал в папке «Другое». Или откройте Finder и перейдите в Приложения - ›Утилиты -› Терминал.

Совет от профессионала: быстрый способ открывать программы на Mac после того, как вы к нему привыкли, - это нажать командную клавишу и пробел, а затем начать вводить название программы.

Первое, что мы сделаем с Терминалом, - это установим программу под названием «Homebrew». Эта программа упрощает установку других программ из Терминала (вместо искаженного текста я попрошу вас скопировать и вставить в терминал через секунду). Когда мы используем Homebrew, команды, которые мы используем для установки программ, будут более удобочитаемыми (например, brew install elixir).

Итак, откройте Терминал и скопируйте + вставьте в него следующую команду:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Теперь нажмите кнопку «возврат». Вы увидите несколько написанных строк и подсказку нажать «вернуться». Еще раз нажмите «Return», затем он попросит вас ввести пароль (тот, с которым вы входите в систему). Вам придется вводить его, не позволяя себе видеть набираемые символы или даже заполнитель. Просто поверьте, он записывает ваши нажатия клавиш; введите пароль и нажмите «возврат».

Внезапно Терминал оживает! Вы очень быстро увидите некоторые строки вывода. Вам также, вероятно, придется подождать несколько минут (5–10, как я тестировал), пока все будет загружено и установлено. Не выходите из программы, просто подождите, пока не увидите свое имя пользователя и знак доллара, который снова появится, когда все остановится.

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

$ brew install elixir

Знак доллара - это просто указание на то, что код предназначен для ввода в Терминал, а не где-то еще. Поэтому, когда вы это видите, не копируйте и вставляйте знак доллара вместе с остальной частью кода.

Шаг 2 - Установите Эликсир

Несмотря на то, что мы уже написали строку кода Elixir в Части 1, мы не сможем запустить код, пока не установим Elixir на свой компьютер.

Все, что вам нужно сделать, чтобы установить язык программирования Elixir на свой компьютер, - это ввести следующую команду в Терминале и нажать «return»:

$ brew install elixir

Вуаля! Теперь на вашем компьютере установлен Эликсир, и у вас есть полный доступ к языку программирования!

Маленький файл, который мы создали в Части 1, представляет собой программу (очень простую), и мы собираемся запустить ее из Терминала. Когда мы запускаем код, он выводит на экран нашего терминала строку с надписью «Hello World!». Но прежде чем мы сможем запустить наш код, нам нужно еще кое-что рассказать о Терминале.

Шаг 3 - Еще немного о терминале

На вашем компьютере есть папки и файлы, и вы обычно просматриваете их с помощью Finder. Тем не менее, Терминал на самом деле является файловым браузером, как и Finder, но он не так привлекателен. Когда вы впервые открываете Терминал, вы находитесь в папке, которая называется «домашний каталог», а имя каталога - ваше имя пользователя. Вот почему вы видите свое имя пользователя, отображаемое в Терминале (перед знаком доллара), когда вы его впервые открываете!

В вашем «домашнем каталоге» есть несколько знакомых «папок» (также называемых «каталогами»): «Загрузки», «Рабочий стол», «Документы» и другие.

Если хотите, откройте Finder и найдите свой домашний каталог с папками "Загрузки", "Рабочий стол" и другими внутри! Это может помочь вам представить себе, что мы делаем в Терминале.

В любое время в Терминале вы можете ввести команду ls и нажать return, и он покажет вам все, что есть в папке. Попробуйте прямо сейчас! (не забудьте не копировать и не вставлять $ вместе с командой)

$ ls

Вы должны увидеть несколько названий папок, например «Приложения», «Библиотека», «Музыка» и т. Д. Вы можете войти в любую из этих папок (так же, как дважды щелкнуть папку в Finder), набрав cd <folder_name>, где вы замените ‹folder_name› на имя папки.

В Терминале введите следующее (не копируйте $):

$ cd Downloads

cd означает «изменить каталог» (каталог означает то же самое, что и папка), и это важная часть Терминала.

Теперь мы в папке "Загрузки"! Введите ls и нажмите «return», и вы должны увидеть все файлы и папки в разделе «Загрузки». Надеюсь, их не так много, и вы можете увидеть там свой файл из части 1, hello.exs.

Причина, по которой мы выполнили это упражнение с cd <directory_name> и ls, заключается в том, что мы должны находиться в том же каталоге (папке), что и наш hello.exs файл, чтобы его запустить. Подумайте об этом так: если бы вы открыли файл в Finder, вы бы начали с верхнего уровня и дважды щелкали по папкам на пути вниз, туда, где находится файл. После того, как вы щелкнете по папке, вы сможете дважды щелкнуть файл, и он откроется. В Терминале вместо двойного щелчка по папкам мы собираемся запустить команду cd <directory_name> на пути вниз к месту, где находится файл. Если вы хотите проверить, что находится в текущей папке, вы можете запустить команду ls.

Мы можем вниз, запустив cd <directory_name>, но что, если мы захотим вернуться вверх к родительской папке той, в которой мы сейчас находимся? Ответ заключается в том, что мы запускаем следующую команду:

$ cd ..

Теперь, вернувшись в Терминал, введите cd .. и нажмите «return». Мы вернулись в домашний каталог! Снова запустите команду ls и убедитесь, что вы снова видите такие папки, как «Рабочий стол» и «Загрузки и документы».

Запустите cd Downloads еще раз, чтобы вернуться туда, где находится наш hello.exs файл, чтобы мы оказались в той же папке, что и hello.exs, чтобы мы могли запустить нашу программу.

Шаг 4 - Запуск программы

Для запуска вашей программы вы должны находиться в той же папке или «каталоге», что и файл. В этом случае мы сохранили наш файл «hello.exs» в папке «Загрузки», поэтому нам нужно cd наш путь в папку «Загрузки», чтобы иметь возможность запускать файл из Терминала (если вы следовали инструкциям, вы уже должны будь там). Вы можете видеть, в какой папке вы находитесь, потому что имя папки будет отображаться в Терминале прямо перед вашим именем пользователя и знаком доллара.

Теперь запустите следующую команду в Терминале, чтобы запустить вашу программу:

$ elixir hello.exs

Если все сработало, вы должны увидеть строку «Hello World!» распечатано в Терминале!

Шаг 5 - Сделайте что-нибудь полезное

Замечательно, что мы можем создать программу, которая печатает какой-то текст в Терминале, но это не очень полезно. В части 3 (ссылка скоро появится!) Я покажу вам несколько основ Эликсира. Мы создадим основу, чтобы мы могли использовать всего несколько базовых навыков работы с Elixir для создания и выполнения интересных вещей с веб-сайтом, основанным на замечательной платформе веб-сайтов Elixir под названием Phoenix. Вы на правильном пути! Эти навыки, которые вы изучаете, являются основополагающими для большей части того, что вы будете делать в программировании, поэтому, хотя мы еще не написали много кода, у вас будет гораздо больше контекста, когда вы продолжите учиться.