2012-07-17 9 views
5

मैं ट्यूपल पैटर्न पर मिलान करना चाहता हूं, लेकिन तुलनात्मक ऑपरेटरों का उपयोग करके मुझे मिलान करने का कोई समाधान नहीं मिल रहा है। मेरा कोड है:तुलना ऑपरेटर का उपयोग कर टुपल पर मिलान

myTuple match {  
     case (-1,-1,true) => ...  
     case (_>=0,-1,_) => ... 
    } 

यह संकलन समय त्रुटि देता है। मैं भी गार्ड अगर उपयोग करने के लिए कोशिश की, लेकिन मैं देख यह इस तरह से लागू नहीं किया जा सकता है:

case (_ if _>=0,-1,_) => ... 

मेरे दृष्टिकोण सही है या मैं एक अलग तरीके पर इस का समाधान करना चाहिए?

myTuple match {  
    case (-1,-1,true) => ... 
    case (x,-1,_) if x >= 0 => ... 
    case _ => ... // default 
} 

स्केला वेब पर मिलान पैटर्न के लिए अच्छा परिचय का एक बहुत होते हैं: धन्यवाद ज़ोल्टन

उत्तर

9

वाक्य रचना गलत है, आप गार्ड के रूप में इस का उपयोग करना चाहिए। यहां पहला विस्तृत विवरण दिया गया है, मैंने Google पर पाया है: Playing with Scala's pattern matching

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