मैं एक स्वनिर्धारित तुलना सबरूटीन मैं लिखे से sort
उपयोग कर रहा हूँ:क्या मैं पर्ल में सॉर्ट की तुलना उपरोक्त की तुलना में तर्क पारित कर सकता हूं?
sub special_compare {
# calc something using $a and $b
# return value
}
my @sorted = sort special_compare @list;
मैं जानता हूँ कि यह सबसे अच्छा उपयोग $a
और $b
जो स्वचालित रूप से निर्धारित की गई हैं, लेकिन कभी कभी मैं अपने special_compare
करना चाहते हैं और अधिक तर्क प्राप्त करने के लिए, यानी:
sub special_compare {
my ($a, $b, @more) = @_; # or maybe 'my @more = @_;' ?
# calc something using $a, $b and @more
# return value
}
मैं यह कैसे कर सकता हूं?
+1 अच्छा और सरल! –
आप हर समय कॉपी होने से रोकने के लिए '@ अधिक' के संदर्भ को पारित करना चाहते हैं। –
या उपयुक्त होने पर उप-कॉल करने के बजाय इन-लाइन कोड का उपयोग करें। – mscha