@$foo
@($foo)
, जहां $foo
एक आइटम चर और @(...)
वाक्य रचना बस अपने तर्क पर .list
प्रणाली को बुलाती है के लिए कम है। विधि और वाक्य रचनात्मक रूप दोनों को कभी-कभी "सूची/सरणी संदर्भकर्ता" कहा जाता है, हालांकि मुझे यह नहीं पता कि आधिकारिक पर्ल 6 दस्तावेज़ों में सिंटैक्टिक फ़ॉर्म कहां से दस्तावेज किया गया है।
इसके लिए एक उपयोग, जब आप किसी आइटम कंटेनर में संग्रहीत एक ऐरे पर पुनरावृत्ति करना चाहते हैं। एक आइटम कंटेनर .list
बुला इसके आसपास के आइटम कंटेनर बिना सादे सरणी रिटर्न पर जबकि, निर्मित-इन, जैसे for
छोरों के रूप में से एक आइटम माना जाता है (यानी "बलों मूल्य सूची संदर्भ में व्याख्या की जा करने के लिए"):
my $foo = [1, 2, 3];
say $foo.perl; # $[1, 2, 3]
say $foo.list.perl; # [1, 2, 3]
say @$foo.perl; # [1, 2, 3]
for $foo { ... } # One iteration
for $foo.list { ... } # Three iterations
for @$foo { ... } # Three iterations (identical to the previous line)
:!foo
:foo(False)
के लिए कम है, यानीएक named argument मूल्य False
है:
sub do-something (:$verbose = True) { say $verbose; }
do-something; # True
do-something :verbose; # True
do-something :!verbose; # False
जब अवधि की स्थिति में नहीं बल्कि एक तर्क सूची का एक तर्क के रूप में लिखा है, यह एक Pair वस्तु का निर्माण:
say (:!verbose); # verbose => False
मुझे आशा है कि मैं करने के लिए कुछ छोटे सुधार किया एक अच्छा सवाल है। :) मैंने एक 'दस्तावेज' टैग जोड़ा क्योंकि मुझे लगता है कि इस मामले के दिल में जाता है। – raiph