2010-06-02 3 views
4

나는 이전에 scheme의 배열에 대한 질문을했다. (vector라고 불리는 것으로 밝혀졌지만, 기본적으로는 기대했던 것과 같았다.)Scheme의 다차원 벡터?

다차원 배열 벡터를 PLT 체계에서 사용하는 쉬운 방법이 있습니까? 내 목적을 위해 make-multid-vector 또는 뭔가라는 절차가 필요합니다.

그러나 아직 없으면 구현 방법에 대한 전체 코드 예제가 필요하지 않습니다. 내가 이것을 굴려야 만한다면 나는 어떤 일반적인 방향을 고맙게 생각할 것이다. 아마 그것을 할 수있는 방법은 벡터의 현재 가장 높은 차원의 각 요소를 반복하여 다른 차원을 추가하는 것입니다. 그러나 그 방법의 재귀 설정을 사용하여 약간 추한 것을 볼 수 있습니다.

또한 이것은 내가 스스로 찾을 수 있어야했던 것처럼 보이므로 실제로 Google을 사용하고 아무 것도 나오지 않았다는 사실을 알고 있어야합니다.

+1

http://stackoverflow.com/questions/35009590/racket-y-way-on-multidimensional-vectors-operation/35017933#35017933 – liweijian

답변

7

두 가지 일반적인 접근법은 많은 언어에서와 동일하지만 벡터 벡터를 사용하거나 X * Y의 단일 벡터를 사용하여 (더 효율적으로) 각 참조의 위치를 ​​계산합니다. 그러나 그것을 수행하는 라이브러리가 있습니다 - srfi/25에 대한 문서를보고 (require srfi/25)과 함께 얻을 수 있습니다.

+0

감사합니다. 이러한 모든 체계적 질문에 많은 도움을 주셨습니다. :). 지금 당장 X * Y 솔루션을 구현할 것입니다. 구현하기 쉽고 효율적이며, 내가 필요로하는 것이 좋을 것입니다. 앞으로 좀 더 복잡한 상황에서이 작업을 수행해야한다면 srfi/25를 살펴볼 것입니다. – Cam

+0

당신은 언제나 구현을 볼 수 있습니다 - 당신이 비슷한 것을 할 수 있도록 어떻게 완료되었는지보십시오. –

+0

당신은 srfi/25 구현을보고 그들이 그것을 한 방법을 보았습니까? 나는 이미이 일을하기 위해 내가해야 할 일에 대해 꽤 좋은 생각을 가지고있다. 그러나 나는 정신적 장애물을 쳤을 때 나는 분명히 엿볼 것이다! – Cam