2011-10-06 14 views
5

क्लोजर में समग्र कुंजी कैसे कार्यान्वित कर सकते हैं? अगर मेरे पास नक्शा है जहां पहला और अंतिम नाम, उदाहरण के लिए, विशेषताओं की एक सूची को इंगित करें .... क्या मैं एक नक्शा बना सकता हूं जिसमें दोनों फ़ील्ड कुंजी के रूप में हों?क्लोजर में समग्र कुंजी कैसे कार्यान्वित कर सकते हैं?

और इस बीच ... जावा में आप नक्शे के लिए बहुत उन्नत कुंजी बनाने के लिए "बराबर" ओवरराइड कर सकते हैं ... क्लोजर में परिष्कृत कुंजी कैसे लागू की जाती हैं?

उत्तर

11

आप किसी भी प्रकार की ऑब्जेक्ट का उपयोग कर सकते हैं जो सही ढंग से एक कुंजी के बराबर लागू करता है। क्लोजर के लिए, जिसमें सभी संग्रह प्रकार शामिल हैं, ताकि आप कुंजी के रूप में मानक क्लोजर संग्रह का उपयोग कर सकें। कुंजी के रूप में दो-तत्व वैक्टर का उपयोग उदाहरण:

(def foo {[1 2] :bar [3 4] :baz}) 
=> #'user/foo 
(foo [1 2]) 
=> :bar 
संबंधित मुद्दे