Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Кстати, из второго блока сравнений видно, что теперь необязательно использовать скобки в условии.
Контексты
Perl 6 позволяет вручную управлять контекстом, в котором происходит работа с переменной; в некотором смысле это подобно преобразованию типов.
Контекст устанавливается с помощью унарного оператора:
# contexts.p6
my @array = (5..10);
# Строковый контекст
say ~@array; # 5 6 7 8 9 10
# Числовой контекст (возвращается размер массива)
say int @array; # 6
say +@array; # 6
# Два модификатора контекста
say ~ hash @array; # напечатает содержимое в два столбца
my $value = 100;
# Булевый контекст
say ?$value; # 1 (то есть истина)
Функции
Ключевое слово для объявления функции sub не изменилось. А механизм передачи параметров стал нагляднее. Например, при объявлении функции возможно указать именованные аргументы.
При вызове нужно либо соблюдать порядок объявления, либо явно указывать имена.
# sub-args.p6
callme(10, 20);
callme(second => 7, first => 8);
sub callme ($first, $second)
{
say "$first = $first, $second = $second";
}
Еще раз отмечу, что при вызове функции скобки нужно ставить вплотную к имени, иначе произойдет ошибка:
Extra space found after &callme (...) –
did you mean &callme(...) instead?