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

rand


       Теперь вместо for ($i=0; $i<10; $i++) введен loop ( то же )
    
#!/usr/bin/perl6
my $i;
loop ($i=0; $i < 10; $i++) {$i.say}
0
1
2
3
4
5
6
7
8
9

       Ну, что ж. Главное про это не забыть.
       Как написано на blog.perl6doc.ru, теперь loop пригоден для бесконечных циклов.
    
#!/usr/bin/perl6
my $rand;
loop { # это было бы вечно, если не условие внутри
	$rand=1000.rand;
	last if $rand < 1;	
	}
$rand.say;
0.117208367676369

       Bene. А как же while?
    
#!/usr/bin/perl6
my $rand;
while ('вечность') { 
	$rand=1000.rand;
	last if $rand < 1;	
	}
$rand.say;
0.842510354477355

       Работает, как и раньше.

Extra
http://blog.perl6doc.ru   
# mutatio postrema: 24 Aug 2010


       Теперь rand(1000) не работает. Надо 1000.rand
    
#!/usr/bin/perl6
my $rand=1000.rand;
$rand.say;
899.683215280191

       Scilicet.
       А если надо целое число? Сейчас нет int(). Можно так:
    
#!/usr/bin/perl6
my $rand=(1..1000).pick;
$rand.say;
247

       А можно и иначе, очевидно.
       TODO. Найти способ сделать 1000.rand более целым.
       Оператор pick, кстати, довольно удобен.
    
#!/usr/bin/perl6
say ('aaa'..'zzz').pick ~ (100..999).pick;
jnd140

       Получилась симпатичная программа генерации паролей.
       pick лучше, чем $list[int(rand(@list))]
# mutatio postrema: 24 Aug 2010

   last, loop, pick, rand, while      charta situs       nota XXII, nota XXIII   

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