अन्य 'भाषा xyz में गोल्फ के लिए युक्तियाँ' के वर्गीकरण से प्रेरित। हमेशा की तरह, कृपया केवल उन सुझावों का सुझाव दें, जो OCaml के लिए विशिष्ट हैं और सामान्य रूप से प्रोग्रामिंग नहीं। कृपया प्रति उत्तर एक टिप।
अन्य 'भाषा xyz में गोल्फ के लिए युक्तियाँ' के वर्गीकरण से प्रेरित। हमेशा की तरह, कृपया केवल उन सुझावों का सुझाव दें, जो OCaml के लिए विशिष्ट हैं और सामान्य रूप से प्रोग्रामिंग नहीं। कृपया प्रति उत्तर एक टिप।
जवाबों:
ट्यूपल्स के लिए धन्यवाद, आप एक साथ कई चर को परिभाषित कर सकते हैं। और फ़ंक्शंस प्रथम श्रेणी के नागरिक हैं:
let f,g=(fun x->x+1),fun x->2*x
हालाँकि, आप नहीं लिख सकते हैं:
let f,g=(fun x->x+1),fun x->2*f x
त्रुटि: अनबाउंड मान f
दुर्भाग्यवश, आप इस समस्या से बच नहीं सकते हैं rec
:
let rec f,g=(fun x->x+1),fun x->2*f x
त्रुटि: बाईं ओर के रूप में केवल चर की अनुमति है
let rec
OCaml में फ़ंक्शंस करी जाती हैं। यह कभी-कभी उस तथ्य का फायदा उठाने के लिए उपयोगी हो सकता है।
let n y=f x y
लिखा जा सकता है
let n=f x
यदि आपको अंकगणित संचालन की आवश्यकता है, तो आप उन्हें कोष्ठक के साथ घेर सकते हैं ताकि वे मानक, उपसर्ग कार्यों की तरह व्यवहार करें। (+)
, (-)
…
let n=(+)1;;
n 3;;
- : int = 4