मैं अपने द्वारा बनाए गए शब्दकोश से एक यादृच्छिक तत्व को प्रिंट कर रहा हूं, मैं चाहता हूं कि एक चर कुंजी के बीच में हो और यह युग्मित मान हो

Dictonary1.randomElement()!.key + "\(variable1)" + Dictonary1.randomElement()!.value

स्पष्ट रूप से यह काम नहीं करता है क्योंकि यह मूल कुंजी की जोड़ी के बजाय शब्दकोश से दूसरा यादृच्छिक मान प्रिंट करता है। मुझे इस तरह के एक समारोह के लिए उचित वाक्यविन्यास खोजने में परेशानी हो रही है और मुझे कोई उदाहरण नहीं मिल रहा है।

0
Rem Biths Wind 12 जुलाई 2021, 23:20

3 जवाब

सबसे बढ़िया उत्तर

आप इसे randomElement() से परिणाम पर flatMap का उपयोग करके प्रिंट कर सकते हैं

 dictionary1.randomElement().flatMap { print($0.key + variable1 + $0.value) }
1
Joakim Danielson 12 जुलाई 2021, 20:30

randomElement को एक वेरिएबल में स्टोर करें और फिर इसके key और value सदस्यों तक पहुंचें:

let dictionary1 = ["1":"Test1","2":"Test2","3":"Test3"]
let variable1 = " = "

if let randomElement = dictionary1.randomElement() {
    print(randomElement.key + variable1 + randomElement.value)
}
1
jnpdx 12 जुलाई 2021, 20:24

जब आप randomElement() फ़ंक्शन को दो बार कॉल करते हैं तो आपका कोड दो अलग-अलग यादृच्छिक मानों के अनुसार उत्पन्न होता है। वेरिएबल के पहले और बाद दोनों में समान मान का उपयोग करने के लिए, आपको randomElement() को एक वेरिएबल में स्टोर करना होगा और randomElement() कॉल को वेरिएबल से बदलना होगा। इसे एक चर के लिए निर्दिष्ट करते समय, इसे केवल चर के प्रारंभ होने पर बुलाया जाएगा, और चर का मान वही रहेगा ताकि आप एक ही चर का कई बार उपयोग कर सकें।

0
ErrorFlyet 12 जुलाई 2021, 20:25