स्विफ्ट कार्यों स्थानीय और बाहरी तर्क नाम निर्दिष्ट कर सकते हैं:
func greet(who name: String = "world") {
println("hello \(name)")
}
// prints "hello world"
greet()
// prints "hello jiaaro"
greet(who:"jiaaro")
// error
greet("jiaaro")
// error
greet(name: "jiaaro")
इस व्यवहार से बाहर निकलना करने के लिए आप बाहरी नाम के लिए एक अंडरस्कोर उपयोग कर सकते हैं। ध्यान दें कि पहले पैरामीटर परोक्ष "कोई बाहरी नाम" व्यवहार का उपयोग करता है:
func greet(#name: String = "world", hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hi jiaaro"
greet(name: "jiaaro", hello: "hi")
:
func greet(name: String = "world", _ hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hello world"
greet()
// prints "hello jiaaro"
greet("jiaaro")
// prints "hi jiaaro"
greet("jiaaro", "hi")
// error
greet(name: "jiaaro")
The following is now disallowed in Swift 2.0, see below for equivalent code.
आप पहले पैरामीटर के लिए एक ही स्थानीय और बाहरी नाम का उपयोग करने #
उपसर्ग उपयोग कर सकते हैं
Swift 2.0 code:
func greet(name name: String = "world", hello: String = "hello") {
println("\(hello) \(name)")
}
// prints "hi jiaaro"
greet(name: "jiaaro", hello: "hi")
संभावित डुप्लिकेट [स्विफ्ट: गायब तर्क लेबल 'xxx' कॉल में] (http://stackoverflow.com/questions/24050844/swift-missing-argument-label-xxx-in-call) – jtbandes
@ इस सवाल को jtbandes मैं जब आप उस प्रश्न से पहले पूछे गए थे (सटीक होने के 6 मिनट बाद;) – Jiaaro