2010-06-02 37 views
4

我早些時候問過一個有關數組在方案中的問題(原來他們被稱爲矢量,但基本上與您所期望的相同)。Scheme中的多維向量?

有沒有一種簡單的方法來做多維 陣列 矢量在PLT計劃雖然嗎?爲了我的目的,我想要一個叫做make-multid-vector的程序。

順便說一句,如果這還不存在,我不需要一個完整的代碼示例如何實現它。如果我必須自己滾動,我會欣賞一些大方向。我可能會這樣做的方式是迭代遍歷矢量的當前最高維度的每個元素以添加另一個維度,但是我可以看到使用scheme的遞歸設置有點難看。

此外,這似乎是我應該能夠找到自己的東西,所以請知道我確實谷歌它沒有出現。

+1

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

回答

7

這兩種常用方法與許多語言相同,既可以使用矢量矢量,也可以(更高效地)使用X * Y的單個矢量並計算每個參考的位置。但有一個圖書館可以做到這一點 - 查看srfi/25的文檔,您可以通過(require srfi/25)獲得該文檔。

+0

謝謝 - 你一直對所有這些計劃問題非常有幫助:)。我認爲現在我將使用X * Y解決方案,因爲它易於實現並且高效,並且可以滿足我需要的功能。未來,如果我需要爲更復雜的情況做到這一點,我會考慮srfi/25。 – Cam 2010-06-02 01:43:39

+0

你總是可以看看實現 - 看看它是如何完成的,所以你可以做類似的事情。 – 2010-06-02 01:44:40

+0

你的意思是看看srfi/25的實現,看看他們是如何做到的?我已經很清楚自己需要做什麼才能做到這一點,但如果我遇到了心理障礙,我一定會偷看! – Cam 2010-06-02 01:50:45