2011-02-18 37 views
8

Kullanıcı tanımlı değişkenlerle çalışırken '@' - sigil olmadan yapamadığım bir şey var mı? @a artık resmi bir parametre, sadece bir değişken olduğu için,perl6: Kullanıcı tanımlı değişkenler için @ -sigil'e ihtiyacım var mı?

sub SHOUT(*@a) { 
     print @a>>.uc; 
} 

sorunuzu aldatıyor olsa:

#!perl6 
use v6; 

my $list = <a b c d e f>; 
my @list = <a b c d e f>; 

$list.list.perl.say; 
@list.perl.say; 

$list[2..4].say; 
@list[2..4].say; 

$list.elems.say; 
@list.elems.say; 

$list.end.say; 
@list.end.say; 

say 'OK' if $list ~~ /^c$/; 
say 'OK' if @list ~~ /^c$/; 

cevap

9

Evet, variadic parametreler @ deseni gerektirir. Sadece gerçek değişkenler için, skalerler ihtiyaç duyduğunuz her şeyi yapabilir, ancak uygun sigili kullandığınızdan çok daha fazla çaba gerektirir.

İlgili konular