perl6.suОсвоим perl6 к 2015 году!

nota LXX. ... is copy


       В предыдущей ноте мы жаловались на то, что нельзя вызвать функцию с константой, если потом эту константу предстоит менять. Мы там пользовались "is rw", но можно заменить это на "is copy".
    
#!/usr/bin/perl6
my $perlversion=5;
say routine($perlversion);
say $perlversion;
say routine(5);
sub routine($num is copy) {
	$num++;
	return "http://perl$num.su";
	}
http://perl6.su
5
http://perl6.su

       "$num is copy" создает копию объекта, который можно менять и изменения которого не повлияют на оригинальный объект. Похоже на то, что "is copy" значительно удобнее "is rw", потому что не надо будет бояться вызвать потом рутину с константой. Хотя, конечно, в плане производительности создание нового объекта менее предпочтительно.
# mutatio postrema: 18 Sep 2010

   sub      charta situs       nota LXIX <<     >> nota LXXI   

    RSS     stdin@perl6.su    © Alexius Karmanov, 2010-2011