나는 lisp을 사용하여 사용자 입력 값 2 개를 읽고 싶다. 내 프로그램에서 사용할 수 있도록 변수에 저장하고 싶습니다.Lisp - 입력 값 2 개를 읽고 저장하는 중
(defun le-posicao()
(let ((n_anel)
(pos_anel))
(princ "?")
(setf n_anel (read))
(setf pos_anel (read))
(when (and (integerp (n_anel)) (integerp (pos_anel)))
n_anel pos_anel)))
내가하자 기능을 로컬 변수를 만드는거야 그리고 나는 그들에 입력에서 읽은 값을 저장할 :
지금까지 내가 현재 코드가 있습니다.
제 문제는 입력에서 두 값을 읽고 첫 번째 변수에 첫 번째 변수를 저장하고 두 번째 변수를 다른 변수에 저장하는 방법입니다. 값은 다음 형식으로되어 있습니다.
? value1 value2
누군가 나를 도울 수 있습니까?
이 방법을 사용하면 입력 값의 마지막 값만 읽을 수 있습니다. 첫 번째 값을 n_anel 변수에 저장하고 두 번째 값을 pos_anel에 저장하려고합니다. –
문제는 두 값으로 목록을 반환하지 않아서 마지막 값만 볼 수 있다는 것이 었습니다. 이제 해결되었습니다. 고마워요. –
'let' 대신'let *'을 써야합니다. 'let '은 바인딩을 병렬로 수행하고'let * '은 순차적으로 바인딩을 수행합니다. – Daimrod