2012-08-29 12 views
5

यह ऐसा कुछ है जिसे मैं कभी-कभी करना चाहता हूं। मान लें कि मेरे पास तर्कों की एक सूची है। लिस्प में, मैं आदेश के साथ सरणी तर्कों की सही संख्या में एक तत्व से बदल गया फ़ंक्शन को कॉल करने मेंरुबी: किसी सरणी को सूची लिस्प-स्टाइल में कैसे विभाजित करें?

`(imaginary-function ,@args) 

की तरह जा सकते हैं।

क्या रूबी में समान कार्यक्षमता है? या मैं बस एक पूरी तरह से गलत मुहावरे का उपयोग कर रहा हूँ? function(*list)

+0

लिस्प में यह न तो एक फ़ंक्शन कॉल है, न ही कोई सरणी है। यह सिर्फ एक सूची है जिसमें विभाजित एक और सूची है। –

उत्तर

9

हाँ:

+0

'डालता है (ए)' और 'डालता है (* ए) 'एक ही आउटपुट – Stefan

+0

हाँ, एक महान उदाहरण नहीं है। मैं इसे "पी (* ए)" में बदल दूंगा। –

+0

बिल्कुल सही, यह वही है जो मैं ढूंढ रहा था। एक छोटे से अजीब लगता है कि आप एक ही ऑपरेटर का उपयोग किसी फ़ंक्शन में (* तर्क) एकत्र करने के लिए करते हैं, लेकिन मुझे लगता है कि यह मुझे लगता है। – HaskellMan

3

यह सूचक ऑपरेटर है! इसे स्प्लट ऑपरेटर कहा जाता है।

a = [1, 44] 
p(*a)