2012-01-09 9 views
7

मानचित्र में कई संभावित कुंजी के पहले गैर शून्य मान प्राप्त करने का सबसे अच्छा तरीका क्या है।मानचित्र में संभावित मूल्यों में से एक प्राप्त करने के लिए मूर्ख तरीका?

उदाहरण:

(get-first-matching {:fum 4 :bar 41 :baz 45} [:foo :bar :baz]) 
;=> 41 

उत्तर

11

some

user=> (some {:fum 4 :bar 41 :baz 45} [:foo :bar :baz]) 
41 
+0

बिल्कुल जो मैं ढूंढ रहा हूं! :) – Annan

+8

यह ध्यान रखना दिलचस्प है कि मानचित्र का उपयोग भविष्य के कार्य के रूप में किया जा रहा है जिसे कुंजी के संग्रह के साथ बुलाया जाता है। इसलिए आपको जो भी मिलेगा वह सख्ती से पहला गैर-शून्य मूल्य नहीं है बल्कि पहला "सच्चाई" मूल्य है। कोशिश करें '(कुछ {: foo nil: बार झूठी: बाज़ 20} [: foo: bar: baz]) उदाहरण के लिए। –

+7

ठीक है, तो एक संस्करण जो मानों के लिए काम करता है जो शून्य या झूठे दिखते हैं '(जब-चलो [[के वी] (कुछ # (एम% ढूंढें) [: foo: bar: baz])] v) '। – amalloy

संबंधित मुद्दे

 संबंधित मुद्दे