मैं इस उदाहरण का अनुसरण कर रहा हूँ द्वारा: http://groups.google.com/group/clojure/browse_thread/thread/99b3d792b1d34b56clojure फ़िल्टर नक्शे कुंजी
(पिछले जबाब देखें)
और इस छुपे त्रुटि मैं जाता है कि:
Clojure 1.2.1
user=> (def m {:a "x" :b "y" :c "z" :d "w"})
#'user/m
user=> (filter #(some % [:a :b]) m)
java.lang.IllegalArgumentException: Key must be integer
(user=>
इसके अलावा, मैं डॉन समझ में नहीं आता क्यों यह काम करेगा। क्या (कुछ ...) पहले मिलान मूल्य, "एक्स", हर बार वापस करने जा रहा है? मैं क्लोजर पर कुल नोब हूं और सीखने की कोशिश कर रहा हूं।
कृपया मुझे प्रबुद्ध करें।
आपके द्वारा लिंक किए गए ggroup थ्रेड से कोड एक अलग समस्या हल करता है: "दिए गए * * मानचित्रों का एक संग्रह और चाबियों का एक सेट, दिए गए मानचित्रों में से एक संग्रह को वापस लौटाता है जिसमें कम से कम एक कुंजी शामिल होती है "। इस प्रकार, इस कोड में, 'फ़िल्टर' नक्शे के संग्रह पर काम करने के लिए है, न कि एक नक्शा; और यह विशेष '# (...)' कुछ 'शामिल ब्लॉक' केवल तभी उपयुक्त है जब दिए गए मानचित्र में 'शून्य' या 'झूठी' मान नहीं हैं (जैसा कि धागे में उल्लिखित है), लेकिन किसी भी मामले में, इसे कार्य करें बदले में दिए गए प्रत्येक मानचित्र में रिटर्न लागू किया जाएगा (आलसी)। –
ठीक है कि मेरी गलतफहमी बताता है, धन्यवाद। – Kevin