क्या ऐसा करने का एक क्लीनर तरीका है? मैं एकओकैमल - एक tuple में सूची संदर्भ के साथ पैटर्न मिलान
(a' option * (char * nodeType) list ref
एक ही रास्ता मैंने पाया की पैटर्न मिलान करने के लिए कोशिश कर रहा हूँ इस कर रहा था:
match a with
| _, l -> match !l with
| (c, n)::t -> doSomething
वहाँ एक रास्ता मैच के लिए a
कुछ के साथ किसी और की तरह नहीं होगा। ..
match a with
| _, ref (c,n)::t -> doSomething
... या कुछ समान है? इस उदाहरण में यह सिर्फ एक और मैच करने के लिए भारी नहीं दिखता है, लेकिन वास्तविक मामले में यह कुछ हद तक हो सकता है ...
आपके उत्तरों के लिए धन्यवाद।
type 'a ref = {
mutable contents : 'a;
}
इसका मतलब यह है कि आप इसके खिलाफ पैटर्न मैच इस तरह रिकॉर्ड सिंटैक्स का उपयोग कर सकते हैं::
match a with
| _, { contents = (c,n)::t } -> doSomething
(वाह, हम पूरी तरह से सिंक्रनाइज़ हैं।) –