저는 "The Little Lisper"를 거쳐 첫 번째 장에서 걸림돌로 빠져 나가려합니다. 필자는 이맥스에 비교적 익숙하다. (Lisp과 클로저를 배우는데 관심을 갖게되었다.) 나는 Mit-scheme 앱을 다운로드했고 Edwin에서 연습을하고있다. A는 원자"atom"에 대해 언 바운드 오류가 발생하는 이유는 무엇입니까?
(atom? (cons a l))
을하고 난 이미 정의 목록입니다
내가 노력하고있어. 다음 오류가 발생합니다.
;Unbound variable: atom?
왜? 나는 "null"을 사용하는데 문제가 없다. 기능. 나는 "원자?"라고 생각했다. 반환 된 값이 원자인지 확인하기위한 내부 함수입니다.
모든 설명은 많이 감사하겠습니다. 나는 아직도 이맥을 실행 계획에 세우지 않았고 모든 혀짤개 방언 사이의 사소한 차이점은 나의 인내심을 테스트하고있다.
Scheme과 Lisp가 같지 않고 scheme에'atom? '술어가 없습니다. 그러나 당신은 쉽게 자신을 구현할 수 있습니다 : http://stackoverflow.com/questions/5404707/check-if-an-argument-is-a-list-or-an-atom –
그 스레드를 보았지만, 나는 올바르게 이해하지 못했습니다. 내 실수는 내가 스킴 모드에서 실행되는 "Edwin"에서 이러한 연습 문제를 해결하려고한다는 것입니다. "The Little Lisper"에 대한 예제를 시도하고 작업 할 수있는 다른 응용 프로그램을 알려주시겠습니까? 이맥스에서 sbcl을 사용해 볼까요?여전히 정의/defun/defn이 맞는 위치 :-) – Tavore
[clisp] (http://www.clisp.org/)을 시도 할 수 있지만 계획서로 전환 할 수도 있습니다. 고전적인 [컴퓨터 프로그램의 구조와 해석] (http://mitpress.mit.edu/sicp/)에 대한 완전한 내용은 자유롭게 이용할 수 있습니다. –