Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Впрочем, далее в сообщении об ошибке следует разъяснение о том, что дополнительно необходимо поставить комплект библиотек extralibs.
Итого, при сборке компилятора Haskell из исходных кодов нужны два файла, в данном случае ghc-6.6-src.tar.bz2 и ghc-6.6-src-extralibs.tar.bz2. Они находятся на том же сайте в разделе Source Distribution. Распаковав их в общий каталог и заново собрав GHC (еще два часа), удалось получить все необходимое для сборки Pugs.
Часть 2. Язык
Самостоятельное изучение Perl 6 – сегодня занятие, больше похожее на исследовательскую работу. Теоретические источники знаний подборка Synopses, практические каталоги с примерами, входящими в поставку Parrot (languages/perl6/examples) и Pugs (examples/).
В оставшейся части статьи бегло рассмотрены основные моменты Perl 6. Предполагаю, что вы знакомы с пятой версией, в этом случае чувство новизны языка ощущается сильнее.
Все приведенные примеры кода проверены в Pugs 6.2.13 на двух системах: под Windows и Linux. Запуск программ на исполнение аналогичен тому, как это происходит в Perl 5. Если код записан в файле, передайте его аргументом при вызове pugs:
> pugs programme.p6
Короткие однострочные программы допустимо записывать непосредственно в командной строке:
> pugs –e'print "This is Perl 6"'
Кстати, для запуска pugs удобно сделать псевдоним p6 или perl6.
Наконец, на платформе UNIX в файле с программой можно указать путь к компилятору:
# !/usr/local/bin/pugs
и сделать файл исполняемым:
> chmod 0755 programme.p6
> ./programme.p6
К сожалению, объем журнальной статьи не позволяет описать все детали новых возможностей языка. Новшеств много, и они находятся на самых разных уровнях от способа записи скобок при вызове функции до идеологии объектно-ориентированного программирования. Хотя я отобрал для обзора наиболее интересные изменения, кому-то все равно может показаться, что подборка несколько субъективна.
Все приведенные примеры содержатся в архиве,
доступном по адресу:
Вывод на печать
Прежде чем рассматривать особенности Perl 6, необходимо познакомиться с механизмом вывода на печать, поскольку он потребуется в каждом примере.
Стандартная функция print() по-прежнему доступна, но в Perl 6 появился метод say(), действие которого аналогично работе функции print(), но всегда завершается переводом строки. Новый способ вывода особенно удобен в отладочных сценариях, когда вписывать переводы строки вручную утомительно.
# say.p6
say "This is Perl 6";
say 123;
say(8 * 9);
Я не случайно назвал say() методом, поскольку им можно пользоваться не только как функцией, но и как методом объекта, например:
# say-method.p6
"This is Perl 6".say;
123.say;
(8 * 9).say();
Вторая программа напечатает то же самое. Метод say() доступен для любых встроенных типов данных, в том числе для чисел. Обратите внимание, что скобки после имени метода необязательны. Однако перед открывающей скобкой не должно быть пробела: