CLISP에서 전원에 대한 간단한 함수를 다음과 같이 정의하고 있습니다.
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
하지만 다음과 같이 함수를 호출하려고 할 때 :
(power 2 6)
다음과 같은 오류가 발생합니다.
***-EVAL : 정의되지 않은 함수 B
Ideone.com 에서 다음 코드를 시도 했습니다.
(defun power(B E)
(if (= E 1)
B
(* B ( power (B (- E 1))))))
(setq base (read))
(setq exponent (read))
(print (power(base exponent)))
STDIN을
2
6
그런 다음 다시 STDERR에서 다음 오류가 발생합니다.
***-EVAL : 정의되지 않은 함수 BASE
인수 B 또는 BASE가 변수가 아니라 함수 로 보이는 이유는 무엇 입니까? 숫자 값은 자체 평가 이므로이 코드가 작동하지 않는 이유는 무엇입니까?
(defun power (B E)
(if (= E 1)
B
(* B (power B (- E 1)))))
... 다른 프로그래밍 언어에서와 같이 Lisp에서 "중복"괄호를 추가 할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다