물론 초보자입니다 만, 왜 이것이 T을 반환하지 않습니까? (eql (third '(0 1 'to 0 1)) 'to)
==> nil
그러나 이는 인용 된 'to을 반환합니다. 당신이 추측 할 수 있듯이 (third '(0 1 'to 0 1))
'TO
는 비교 형태의 것도, eq, eql, equal, equalp 작동하지 않습니다. 'TO
가
저는 LISP를 처음 접했고 수업을 위해 cond 문을 사용하려고합니다. 현재 전달 된 값이 목록인지 확인하고 목록에 문자 d를 추가합니다. (test (car(list 'a 'b 'c)))이 내가 얻는 새로운 출력은 다음과 같습니다 : I가 테스트를 변경하는 경우 (A B C)
(A B C)
: (defun test(L)
(listp L)
(c
MIT의 SICP 강의를 따르고 있으며 알렉산드리아 방법의 헤론에 의해 수의 제곱근 근사값을 찾으려고했습니다. 이것은 처음으로 lisp을 시도한 것이고, noobie 실수를해서 죄송합니다. (define guess 1)
(define (avg a b)
(/ (+ a b) 2))
(define (try guess x)
(if (goo
확실한 대답이지만 확실한 이유는 분명합니다. LISP 패키지에있는 모든 외부 정의 된 것을 설명하려고합니다. 그래서 나는이 같은 일을 할 것이라고 기대했다 ... (require "sb-posix")
(do-external-symbols (single-symbol 'sb-posix)
(prin1 single-symbol) (terpri))
하
접두어로 중위 입력을 변경하는 함수를 만들려고합니다 : (x + 1) 입력은 (+ x 1)으로 출력됩니다. (setq x '(Y + 1))
(if (listp x) (list (second x) (first x) (first (last x))) x)
은 그래서 (+ Y 1)을 반환 I 입력 목록과이 목록 아니라면 사용자가 입력 한 경우 : 그래서 여기
저는 SchemR 언어를 시험하기 위해 DrRacket 환경을 사용하고 있습니다. 궁금 (define sum+1 '(+ x y 1))
는 다음과 같은 식을 평가하지 않는 이유 : : 다음과 같이 나는 합계 + 1을 정의 (let ([x 1] [y 2]) (eval sum+1))
이렇게하면 올바른 값을 반환하는 반면 : (define x 1)
(de
레이블을 사용하는 로컬 함수를 사용하여 함수를 재귀 적으로 사용할 수 있습니다. (defun my-replace (e1 e2 L)
"Perform a deep replace e1 with e2 in L."
(labels ((my-replace-rec (e1 e2 L)
"Used for recursion"
(cond
저는 학교에서 Lisp을 배우고 있는데, 만들려는 프로그램 중 하나는 mapcan을 사용하여 remove-if-not의 기능을 복제하는 프로그램 중 하나입니다. 프로그램을 만들었지 만 제대로 작동하지만 출력을 이해하지 못합니다. I 실행한다면 구체적 : (findall 'numberp '(1 a 3))
를 출력한다 (1-3) 프로그램은 다음과 같다 :가
파이썬 방식으로 소수를 생성하려고합니다. 즉, 생성자를 사용하고 있습니다. 파이썬 코드는 더 많거나 적은 내가 리스프에 아주 새로운 해요 def divisor_in_list(n, d):
""" Returns true if a divisor of n is in d, false otherwise"
def primes():
yield 2
안녕하세요 newbie는 Lisp을 배우려고 노력하고 있습니다. 왜 lisp이 출력 결과의 끝에서 NIL을 인쇄하는지 혼란 스럽습니까? NIL을 출력하지 못하게하거나 if 문이 올바르게 설정되어 있지 않은가? [2]> (square 10)
number greater than 4
NIL