2009-02-21 6 views
6

나는 함수 프로그래밍의 영역을 초보자로 삼아 방금 Scheme을 배우기 시작했습니다 (반 기능 프로그래밍 언어 임에도 불구하고). Scheme에서 잘 지원되는 목록에 대한 자습서를 작성했습니다. 나는 Scheme이 배열을 만지작 거릴 지 여부를 궁금해했다.스키마의 배열 표현

아니면 내 자신의 데이터 형식을 정의해야합니까? 목록은 유도 적으로 정의 된 데이터 유형입니다. 배열을 새로운 데이터 유형으로 정의하려면 유도 적으로 정의 할 수 있습니까?

도와주세요. 미리 감사드립니다.

건배

답변

9

벡터를 찾고 있습니다.

(define arr (vector 1 2 3)) 
(define arr #(1 2 3)) 
+0

나를 vector scheme이라는 개념으로 소개해 주셔서 감사합니다. 방금 조회 한 것 같고 일정한 시간에 배열을 검색 할 수 있습니다. 또한, 그것은 공간에 고정 된 데이터 유형 인 것 같습니다 - 배열과 비슷합니다. 건배 – Arnkrishn

+1

벡터 상수 (적어도 R5RS에서)는 반드시 인용해야한다는 것을 기억하십시오. 마지막 예제는'(define arr '# (1 2 3))'이어야합니다. 참고 : 일부 구현에서는 따옴표를 선택적으로 사용합니다. – soegaard

1

벡터를 사용하여 배열을 나타낼 수 있습니다. Scheme의 벡터는 (벡터 세트를 사용하여) 변형시킬 수 있다는 의미에서 기능적이지 않습니다. 그러나, 또한 목록 세트 자동차를 사용하여 돌연변이 수 있습니다! 및 set-cdr!