3

clojure に遅延シーケンス (abcd .....) があり、一変量関数 f(x) があるとします。古い遅延シーケンスを新しい遅延シーケンス (f(a) f(b) ....) に変換するにはどうすればよいですか。すなわち、私は変容を求めます。ありがとう :

(a b ....) [lazy] -> (f(a) f(b) ....) [also lazy]
4

1 に答える 1

6

map必要なことはすべて行います。適用するシーケンスの「怠惰」を保持します。

(map f old-lazy-sequence)
=> [new-lazy-sequence]

範囲が無限の例:

(take 5 
  (map (partial * 2) 
       (range)))
=> (0 2 4 6 8)
于 2012-08-26T06:57:13.920 に答える