2014-07-14 10 views
12

मैं सिर्फ एक सरणी को स्विफ्ट में एक टुपल में परिवर्तित करना चाहता हूं; निम्नलिखित की तरह कुछ:मैं एक सरणी को टुपल में कैसे परिवर्तित कर सकता हूं?

>>> myArray = [1,2,3,4,5] 
>>> mytuple = tuple(myArray) 
>>> mytuple 
(1, 2, 3, 4, 5) 

ऐसा करने का सबसे आसान तरीका क्या है?

(मैंने केवल स्विफ्ट सीखना शुरू किया, इसलिए मैं बहुत नया हूं)।

उत्तर

12

आप ऐसा नहीं कर सकते क्योंकि टुपल का आकार इसके प्रकार का हिस्सा है, और यह किसी सरणी के लिए सही नहीं है। यदि आप सरणी की लंबाई जानते हैं, तो आप केवल let myTuple = (myArray[0], myArray[1], ...) कर सकते हैं। या आप शुरुआत से tuples के आसपास अपने वास्तुकला का निर्माण कर सकते हैं। तुम क्या करने की कोशिश कर रहे हो?

यह एक आम समस्या है जो कई अन्य भाषाओं में होती है। How do I convert a list to a tuple in Haskell?

+0

कुछ भी बनाने की कोशिश नहीं, बस जिज्ञासु। सहायता के लिए धन्यवाद। – niranjanbajgai

15

यह वास्तव में काफी संभव है, यदि आप कुछ निम्न स्तर के जादू करने के इच्छुक हैं। मुझे नहीं लगता कि यह काम करता है अगर ट्यूपल में संग्रह प्रकार है। यह मुख्य रूप से सी पुस्तकालयों के साथ बातचीत के लिए है। इस सामग्री का

typealias TupleType = (UInt8, UInt8, UInt8) 

var array = [2, 3, 4] as [UInt8] 
var tuple = UnsafeMutablePointer<StepsType>(malloc(UInt(sizeof(TupleType)))) 
memcpy(tuple, array, UInt(array.count)) 

अधिक यहां पाया जा सकता: हम में से https://codereview.stackexchange.com/questions/84476/array-to-tuple-in-swift/84528#84528


क्योंकि 70% अत्यधिक दृश्य प्राणी हैं:

enter image description here

संबंधित मुद्दे

 संबंधित मुद्दे