この疑似 C++ コードのようなことを行うにはどうすればよいですか。
vector<int> vs = {...};
for (i = start; i < vs.size(); i += step) {
vs[i] *= 10;
}
クロジュアで?私はこのコードを持っています:
(defn step-do [start step v]
(if (< start (count v))
(recur (+ start step) step (assoc v start (* 10 (v start))))
v))
(defn -main
[& args]
(println (step-do 2 3 (vec (range 1 15)))))
またはfor
バリアント:
(defn step-do [start step v]
(last (for [i (range start (count v) step)]
(assoc v i (* 10 (v i))))))
何が良いですか?何が速いですか?私は何か他のことをすべきですか?