Главная > Linux, Perl > День 1: Получаем Rakudo

День 1: Получаем Rakudo

Как я и планировал, выкладываю перевод первой статьи цикла Perl 6 Advent Calendar. Напоминаю, что перевод вольный, по-этому сильно придираться не стоит.

Существует много разных частичных реализаций Perl 6. Наиболее полной на данный момент является Rakudo. Для получения Rakudo и дальнейшей работы с ним есть несколько путей, но если вас интересует помощь в разработке и отслеживание текущего статуса, то наилучшим вариантом будет получение и сборка Rakudo непосредственно из актуальных исходных кодов.

Для этого вам понадобятся Subversion (svn), git, Perl 5.8 или новее, компилятор языка C и утилита make. В Linux-подобных операционных системах (включая OS X) собрать Rakudo можно следующим образом:

$ git clone git://github.com/rakudo/rakudo.git
$ cd rakudo
$ perl Configure.pl --gen-parrot
$ make
$ make test
$ make install

Здесь опция –gen-parrot указывает Subversion получить сответствующую версию виртуальной машины Parrot и затем компилирует её.

Для текущего Rakudo, make install не установит его в ваше окружение, это фактически подготовит систему так, что вы сможете запускать исполняемый файл perl6 (созданный в директории rakudo) из любой другой директории. После этого вы можете «поиграть» с Perl 6, запустив perl6 без аргументов, что позволит войти в среду REPL, где можно непосредственно вводить команды и видеть что они делают. Это может быть невероятно удобным для ознакомления с работой Perl 6.
Например:

$ ./perl6
> say "Hello world!";
Hello world!
> say (10/7).WHAT
Rat()
> say [+] (1..999).grep( { $_ % 3 == 0 || $_ % 5 == 0 } );
233168

Начинающиеся на $ и > строки – это то, что вы вводите; другие строки – это ответ Rakudo. Первый пример просто выводит текст с помощью say. Второй создаёт рациональное число и запрашивает его тип. Третий создаёт список чисел от 1 до 999, отфильтровывает те, которые не делятся на 3 или 5, суммирует их и выводит результат. (Это первая задача проекта Эйлера, спасибо draegtun за напоминание.) Мы постараемся объяснить как работают эти вещи в будущих постах.

И еще одно замечание. Если у вас возникли трудности в получении Rakudo, то канал #perl6 на irc.freenode.net может оказаться весьма полезным.

Оригинальный текст.

VN:F [1.8.4_1055]
Rating: 7.3/10 (4 votes cast)
День 1: Получаем Rakudo7.3104
  • Print
  • PDF
  • Google Bookmarks
  • Twitter
  • Digg
  • del.icio.us
  • Reddit
  • Facebook
  • Identi.ca
  • Slashdot
  • StumbleUpon
Categories: Linux, Perl Tags: ,