में वेक्टर दोहराएं मैं क्लोजर नौसिखिया हूं। मैं कार्ड सूट के वेक्टर की दो प्रतियां प्राप्त करने की कोशिश कर रहा हूं। गैर DRY तरह से है कि मैं के साथ आ सकते हैंक्लोजर
(def suits [:clubs :diamonds :hearts :spades])
(def two-times (concat suits suits))
वहाँ एक अधिक कार्यात्मक तरीका होना चाहिए (भले ही अधिक वर्ण लेता है :-)) है। अगर मैं एन बार चाहता हूं तो क्या होगा? कोई सुझाव?
बातें मैं कोशिश के सभी तरह दो अलग-अलग वैक्टर में
(replicate 2 suits)
परिणाम:
([:clubs :diamonds :hearts :spades] [:clubs :diamonds :hearts :spades])
मैं कैसे "समतल" है संरचना?
कुछ भी 'def' प्रपत्र बनाने के अंदर एक वार के मान के उपयोग गैर कार्यात्मक है एक और वर वास्तव में, यह दूसरी चीज है जब दूसरा वर पहले पर निर्भर करता है। बेशक यदि आप एक सीक की एन प्रतियों को संयोजित करने की एक सामान्य विधि चाहते हैं, जहां एन पहले से ज्ञात हो सकता है या नहीं, तो आपको बेहतर समाधान की आवश्यकता है (जैसा कि यहां दिए गए उत्तरों में पाया गया है)। –
असल में, मेरा मतलब यही था (एन प्रतियां)। मैं मानता हूं कि मेरा दो बार का कार्य "कार्यात्मक" है - अगर मैं 100 प्रतियां चाहता हूं तो यह व्यावहारिक नहीं है :-)। – Ralph