आप कर सकते थे एक टपल बनाने और फिर एक मैच अभिव्यक्ति में यह destructuring द्वारा एक समारोह के कई तर्क के खिलाफ पैटर्न मैचों की:ओकैमल में, फ़ंक्शन के कई तर्कों के विरुद्ध मिलान करने का कैननिक तरीका क्या है?
let f x y =
match x, y with
| pattern1 -> expr1
| ...
वैकल्पिक रूप से, अगर आप एक curried समारोह की जरूरत नहीं है, तो आप कर ऐसा कर सकता है f
बनाने केवल तर्क के रूप में एक टपल ले:
let f (x, y) = function
| pattern1 -> expr1
| ...
बाद विधि का लाभ यह है कि आप दो बार हर बार जब आप एक समारोह को परिभाषित तर्क लिखने की जरूरत नहीं है कि। लेकिन एक ट्यूपल लेने वाले कार्यों को करीबी लोगों की तुलना में लोकप्रिय नहीं लगता है।
तो ओकैम समुदाय में दोनों में से कौन सा कैननिकल या पसंदीदा माना जाता है?
संपादित करें: जैसे पैड नीचे बताया गया है, मेरा मतलब है कि दूसरे कोड स्निपेट में let f = function blah blah
है। ; उन दो संस्करणों नहीं हैं
let f (x, y) =
match x, y with
| pattern1 -> expr1
| ...
(सूचना अपने दूसरे निर्माण में एक गलती है कि वहाँ:
let f = function
| pattern1_of_x_y -> expr1
| ...
रूप में ही है: