对起始值应用函数 n 次

Hen*_*ang 5 clojure

基本上我想在 x 上应用 f 次 n 次,我只对结果感兴趣。有没有比 更好的方法(nth (iterate f x) n)

lee*_*ski 5

正如评论者所说,您的解决方案已经可以了。另一种选择是使用comp,可能像这样:

user> (defn n-times [n f]
        (apply comp (repeat n f)))
#'user/n-times

user> ((n-times 10 inc) 1)
;;=> 11
Run Code Online (Sandbox Code Playgroud)

我仍然不能说它在任何方面是否比你的更好。也许更实用[ish]