Каталог, в котором хранятся эти примеры, недоступен для записи обычным пользователям. Чтобы скомпилировать файл .erl
, компилятор должен иметь возможность записать скомпилированный файл .beam
.
Одним из способов решения этой проблемы является копирование файлов в каталог, в который может записать и скомпилировать их:
$ mkdir erlex
$ cd erlex
$ cp /usr/lib/erlang/lib/gs-1.5.11/examples/src/* .
$ erlc *.erl
Для работы необходим пакет erlang-dev
.
Вы можете запустить пример ball
так:
$ erl -s ball
ball
здесь - имя модуля, и эмулятор Эрланга по умолчанию вызывает функцию start/0
в этом модуле, что в данном случае правильно.
Однако вам не обязательно собирать эти примеры. Пакет Ubuntu erlang-examples
поставляется с уже скомпилированными:
$ cd /usr/lib/erlang/lib/gs-1.5.11/examples/ebin
$ erl -s ball
После закрытия окна GUI в каждом произнесите q().
, чтобы выйти из эмулятора. Это может показаться вам странным до тех пор, пока вы не поймете, что все в Erlang разработано с учетом длительных периодов работоспособности. Тот факт, что последний процесс, в котором работал эмулятор, остановился, не является достаточной причиной для эмулятора BEAM. Что-то еще может быть запущено в том же эмуляторе позже, в конце концов.