2011-02-18 5 views
8

क्या कुछ ऐसा है जो मैं '@' के बिना नहीं कर सकता - सिग्इल उपयोगकर्ता परिभाषित चर के साथ काम करते समय? ,perl6: क्या मुझे उपयोगकर्ता परिभाषित चर के लिए @ -sigil की आवश्यकता है?

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

हालांकि कि आपके प्रश्न को धोखा दे रहा है क्योंकि @a अब एक औपचारिक पैरामीटर, न सिर्फ एक चर रहा है:

#!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

हाँ, variadic मापदंडों @ sigil आवश्यकता होती है। केवल वास्तविक चर के लिए, स्केलर आपको जो भी चाहिए, वह कर सकते हैं, हालांकि यदि आप उपयुक्त सिगिल का उपयोग करते हैं तो अधिक प्रयास के साथ।

संबंधित मुद्दे