2014-11-22 106 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返回的值。