2014-04-21 5 views
-2

배열에서 MAX를 찾아야하는 LISP 프로그래밍을하고 있습니다. 몇 가지 초기 코드를 작성했지만 거기에 붙어 있습니다. 많은 온라인 자습서를 보았지만 이해할 수있는 충분한 도움이되지 않았습니다.LISP에서 배열의 색인에 액세스

여기 내 코드입니다. 지금까지 크기 5의 배열을 만들었습니다. 온라인 튜토리얼에서이 방법을 얻었습니다.

(make-array 5) 
#(nil nil nil nil nil) 

이제 이러한 배열 인덱스에 값을 설정 한 다음 해당 인덱스에 액세스 할 수 있습니다.

미리 감사드립니다.

답변

2

사용할 수있는 장소에 보관해야합니다. 예 :

(let ((my-array (make-array 11 :initial-element 7))) 
    (aref my-array 5)   ;; ==> 7 
    (setf (aref my-array 3) 2);; ==> 2 
    my-array)     ;; ==> #(7 7 7 2 7 ...) 

내 예와 같이 어휘 일 수도 있지만 패키지 변수로도 사용할 수 있습니다 (글로벌).

+0

여기에서 시도했습니다. http://www.compileonline.com/execute_lisp_online.php 코드가 작동하지 않습니다. – farhangdon

+0

@farhangdon 3. 행에 누락 된 하이픈이 있습니다. 온라인 평가자에게 결과를 출력하려면'print (aref my-array 5)'와 같이'print'로보고 싶은 표현식을 감쌀 필요가 있습니다. – Sylwester

관련 문제