एक अभ्यास के रूप में, मैं एक कम समारोह के रूप में मानचित्र, लंबाई और फ़िल्टर लिखने की कोशिश कर रहा हूं।स्विफ्ट लेखन मानचित्र, लंबाई, फिल्टर
func map<T>(array: [T], f: (T->T)) -> [T] {
return array.reduce([]) {
(var seed, value) in
seed.append(f(value))
return seed
}
}
func length<T>(array: [T]) -> Int {
return array.reduce(0){ (x,_) in x + 1 }
}
func filter<T>(array: [T], predicate: (T->Bool)) -> [T]{
return array.reduce([]){
(var seed, value) in
if predicate(value){
seed.append(value)
}
return seed
}
}
क्या यह सबसे सुरुचिपूर्ण वाक्यविन्यास है जिसे मैं उन कार्यों को कम करने के लिए उपयोग कर सकता हूं? दूसरा प्रश्न: नक्शा एक फ़ंक्शन f लेता है f: (टी-> टी) असल में टाइप कहता है कि मैं केवल कुछ प्रकार का टी वापस कर सकता हूं, लेकिन अगर मैं जो फ़ंक्शन लिखता हूं वह टाइप टी को एक बूल, या इंट ... मैं इसे कैसे पूरा करूं? मानचित्र की तरह लगता है मौजूद नहीं है
Muchas ग्रेसियस, धन्यवाद! वास्तव में जिस प्रकार की प्रतिक्रिया मैं ढूंढ रहा था। स्विफ्ट शुरुआत में एक अजीब परिदृश्य है;) – Seneca
अजीब परिदृश्य जो आपको इस कोशिश करने के लिए प्रेरित करता है! :) – Grimxn
जाहिर है ट्रांसड्यूसर की तरह कुछ मौजूद है;) तेजी से कुछ बुनियादी ज्ञान हासिल करने का शानदार तरीका। – Seneca