2011-02-18 76 views
8

在使用用戶定義的變量時,沒有'@' - sigil有沒有我不能做的事情?perl6:我需要用戶定義變量的@ -sigil嗎?

#!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$/; 

回答

9

是的,可變參數參數要求@印記:

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

儘管這欺騙了你的問題,因爲@a現在是一個正式的參數,而不僅僅是一個變量。對於實際變量而言,標量可以完成您所需要的任何操作,儘管通常比使用適當的印記更省力。

相關問題