मैं निम्नलिखित 2 कार्यों है कि मैं एक में गठबंधन करना चाहते हैं: मैं बस एक समारोह करना चाहते हैंrecursing
(defun fib (n)
(if (= n 0) 0 (fib-r n 0 1)))
(defun fib-r (n a b)
(if (= n 1) b (fib-r (- n 1) b (+ a b))))
, इसलिए मैं कुछ इस तरह की कोशिश की:
(defun fib (n)
(let ((f0 (lambda (n) (if (= n 0) 0 (funcall f1 n 0 1))))
(f1 (lambda (a b n) (if (= n 1) b (funcall f1 (- n 1) b (+ a b))))))
(funcall f0 n)))
हालांकि यह काम नहीं कर रहा है। सटीक त्रुटि *** - IF: variable F1 has no value
मैं एक शुरुआतकर्ता हूं जहां तक LISP जाता है, इसलिए मैं निम्नलिखित प्रश्न के स्पष्ट उत्तर की सराहना करता हूं: आप लिस्प में एक रिकर्सिव लैम्ब्डा फ़ंक्शन कैसे लिखते हैं?
धन्यवाद।
धन्यवाद, यह काम करता है। –
http://stackoverflow.com/suggested-edits/113745 – thirtydot