
say
Раньше для вывода на печать использовали print, где в большинстве случаев использовали в конце перевод строки "\n": print "Habeo symbolum\n"; Теперь мы можем написать короче, сэкономив четыре удара по клавиатуре:
| | #!/usr/bin/perl6
say "Non habeo symbolum"; | | Non habeo symbolum |
Вроде бы мелочь. Однако программы станут за счет say процентов на пять короче. Весьма приличная экономия времени на самом деле. Ещё к тому же реже надо будет использовать двойные кавычки. | | #!/usr/bin/perl6
my @list=<unus duo tres quattuor quinque sex septem>;
for (@list) {print "$_\n"} # по старинке
for @list {.say} # nunc | | unus
duo
tres
quattuor
quinque
sex
septem
unus
duo
tres
quattuor
quinque
sex
septem |
И короче, и легче восприятие кода. Портит настроение только необходимость обязательного использования my. Сэкономив с say, потратим наше время на написание my. # mutatio postrema: 28 Apr 2011
Открывать файл для записи следует с определенным ключом (w).
| | #!/usr/bin/perl6
my $file=open 'out.tmp',:w;
$file.say('ave mundus');
$file.close;
$file=open 'out.tmp'; # проверяем
$file.get.say;
$file.close; | | ave mundus |
Видимо, такое открытие файла для записи удаляет всё прежде имевшееся в нём. Проверим.| | #!/usr/bin/perl6
my $file=open 'out.tmp',:w; $file.say('ave mundus'); $file.close;
$file=open 'out.tmp',:w; $file.say('ave mundus'); $file.close;
$file=open 'out.tmp',:w; $file.say('ave mundus'); $file.close;
my $content=slurp 'out.tmp';
$content.say; | | ave mundus
|
Так мы и думали. Видно, кстати, что писали мы просто 'ave mundus', а получили назад оный же только плюс перевод строки. Понятно, что это say. Однако... N.B. Никогда не надо забывать про возможные коллизии с наличием-отсутствием символа перевода строки. А как теперь дописывать в уже имеющийся файл? # mutatio postrema: 17 Sep 2010
|