मैं निम्नलिखित की तरह एक सरणी है।पर्ल में बिल्टिन फ़ंक्शन (स्प्रिंटफ, जॉइन इत्यादि) के तर्कों के रूप में मैं सरणी का उपयोग कैसे कर सकता हूं?</p> <pre><code>my @a = ('%d %d', 10, 20); </code></pre> <p>मैं एक समारोह के लिए तर्क के रूप में इस सरणी के तत्वों का उपयोग करना चाहते हैं:
अगर मैं तो बस उसे सीधे उपयोग करने का प्रयास है, यह अदिश संदर्भ में व्याख्या हो जाता है:
say sprintf(@a); #=> 3
मैं भी इस है, जो निश्चित रूप से काम नहीं किया की कोशिश की:
@_ = @a; say sprintf; #=> Not enough arguments...
सूचक सिंटैक्स कुछ भाषाएं यहां या तो काम नहीं करती हैं (मैं इस बिंदु पर जंगली अनुमान ले रहा हूं):
say sprintf(*@a); #=> (error)
अन्य बिल्टिन फ़ंक्शंस जैसे join
के साथ समान समस्याएं होती हैं।
क्या मनमाने ढंग से सरणी (अज्ञात लंबाई) और मनमाने ढंग से कार्य करने का कोई तरीका है और फ़ंक्शन के लिए तर्क के रूप में सरणी के तत्वों का उपयोग करके फ़ंक्शन को कॉल करें? यदि हां, तो कैसे?
संबंधित: [केवल एक सरणी दिए जाने पर printf और sprintf अलग-अलग व्यवहार क्यों करते हैं?] (Http://stackoverflow.com/q/2485106/176646) – ThisSuitIsBlackNot
फिर भी एक और कारण है कि पर्ल प्रोटोटाइप वास्तव में विचलित हो सकता है। – Sobrique