2011-12-23 4 views
0

나는 Lisp을 배우고있다. 나는 비교적 간단한 문제에 대한 해결책을 구현하고있다. 이런 문제의 초기 상태를 나타내는 목록을 생각하고 있습니다.목록으로 변수를 초기화하는 Lisp

((0 1) (2 3) (5 4)) 

변수를 만들고 그 목록을 할당하고 싶습니다. 시도했습니다.

(let ((initial-state ((0 1) (2 3) (5 4))))) 

하지만 컴파일되지 않습니다. 내가 시도한 후에

(let ((initial-state list (list 0 1) (list 2 3) (list 5 4)))) 

이 작동하지만 너무 오래 걸립니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

답변

3

이 뜻입니까?

(let ((initial-state '((0 1) (2 3) (5 4)))) ...) 

작은 따옴표는 따옴표입니다. :) 여기에 인용에 대한 더 :

+0

괄호를 잊어 버리셨습니까? – mange

+0

나는 가지고 있었다. 그러나 나는 그것을 고쳤다. 어쨌든 고마워. – elias

+0

당신은 무슨 일을하고 있습니까? Common Lisp에서'let'은 그렇게 작동하지 않으며 Scheme도 작동하지 않습니다. – mange

5
(let ((initial-state '((0 1) (2 3) (4 5)))) 
    ...) 

'은 기본적으로 의미 (quote ...)로 확장 "이 평가하지 않는, 단지 나를에 반환 명부". 이것은 코드에서 데이터를 분리하는 데 사용됩니다 (이는 관련 개념 인 LISP).

관련 문제