आइए कहें कि मेरे पास प्रकार पूर्णांक की एक सूची है [1; 2; 3; 4; 5; 6; 7; 8] और मैं पैटर्न को पहले तीन तत्वों को एक बार में मिलान करना चाहता हूं। क्या नेस्टेड मैच स्टेटमेंट के बिना ऐसा करने का कोई तरीका है?Ocaml पैटर्न एक सूची में कई तत्वों से मेल खाता है
उदाहरण के लिए, क्या ऐसा किया जा सकता है?
let rec f (x: int list) : (int list) =
begin match x with
| [] -> []
| [a; b; c]::rest -> (blah blah blah rest of the code here)
end
मैं लंबे समय से नेस्टेड विधि है, जो होगा इस्तेमाल कर सकते हैं:
let rec f (x: int list) : (int list) =
begin match x with
| [] -> []
| h1::t1 ->
begin match t1 with
| [] -> []
| h2::t2 ->
begin match t2 with
| [] -> []
| t3:: h3 ->
(rest of the code here)
end
end
end
धन्यवाद!
शांत, धन्यवाद! और कहें (ब्ला ब्ला ब्लाह यहां कोड के बाकी हिस्सों के लिए) मैं तत्व "ए" को छोड़कर सब कुछ वापस करना चाहता था। क्या मैं बस बी @ सी @ आराम करूँगा? – chesspro
आप 'a :: ((b :: c :: rest) tl के रूप में मिलान कर सकते हैं) और फिर आप सूची के मुख्य तत्वों को पुनर्निर्मित किए बिना 'tl' का उपयोग कर सकते हैं। – nlucaroni
उसे नहीं पता था, धन्यवाद! – chesspro