2

在将 Clojure 中的函数表达式与 Rebol 并排比较时,我从 clojure-docs.org 上的与 结合使用的示例中偶然发现了这个apply表达式:map

user=> (map #(apply max %) [[1 2 3] [4 5 6] [7 8 9]])
(3 6 9)

Rebol 最相似的表达方式是什么?

4

3 回答 3

4

也许:

map-each x [[1 2 3] [4 6 5] [7 8 9]] [apply :reduce [first maximum-of x]]

但是你不需要在apply这里使用:

map-each x [[1 2 3] [4 6 5] [7 8 9]] [first maximum-of x] 

注意。请注意,我将中间列表更改为[4 6 5]. 这很重要,因为...

maximum-of [4 6 5]   ; => [6 5]

这与maxClojure 中的不同(返回列表中找到的最高数字)。

于 2013-04-16T20:41:54.317 回答
1

Rebol 中的类似表达式是:

>> map-each x [[1 2 3] [4 5 6] [7 8 9]] [apply :reduce maximum-of x]
== [3 6 9]
于 2013-04-16T19:56:31.800 回答
0
map-each x [[1 2 3] [4 5 6] [7 8 9]] [first  maximum-of x]
于 2013-07-13T03:41:17.673 回答