2014-11-22 75 views
1

我在我的UNI鑑於教師守則,我想了解這行代碼:什麼是矢量圖?

(define printStatev (lambda (st) 
       (vector-map (lambda (row) (printRow row)) st))) 

什麼是矢量的地圖?

+0

從這裏http://sicp.ai.mit.edu/Fall-2003/manuals/scheme-7.5.5/doc/scheme_9.html 「程序+:矢量地圖程序矢量 程序必須是程序一個參數vector-map向元素方向應用程序元素向量,並按照從左到右的順序返回新分配的結果向量,過程應用於向量元素的動態順序未指定。 – Ivancho 2014-11-22 14:06:49

回答

2

vector-map將函數應用於向量的每個元素。

(vector-map - (vector 1 2 3)) 

計算

(vector (- 1) (- 2) (- 3)) 

最終的結果是

(vector -1 -2 -3) 

在您的示例應用是printRow功能。由於printRow作爲副作用打印值(這是一個假設),因此效果是所有元素都被打印出來。結果值是一個向量,其元素是從printRow返回的值。