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

nota LXVI. Заключенная субрутина


       В "Using perl 6" прочитал, что если субрутина сама находится в блоке, то вне блока она недоступна.
    
#!/usr/bin/perl6
# &socool('boy'); # приводит к ошибке "субрутина не найдена"
{
	sub socool($a) {
		"$a is so cool!".say;
		}
	&socool('girl');
	}
girl is so cool!

       Если надо, то можно к 'sub' добавить 'our'. Но в версии ракудо 2012.01 это почему-то не работает.
       Важно, заканчивается блок точкой с запятой или нет. Если без точки с запятой, то следующая строка может как-то продолжить действие блока.
    
#!/usr/bin/perl6
say
{return 'abc'};
~ 'def';
say
{return 'abc'}
~ 'def';
Block.new()
def

       N.B. Внимателно следить за фигурными скобками. Точка с запятой после фигурной скобки может изменить смысл.
# mutatio postrema: 30 Jan 2012

   sub, our      charta situs       nota LXV <<     >> nota LXVII   

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