【发布时间】:2020-03-27 20:21:53
【问题描述】:
对于我作为一个新的 Clojurian 的我来说,当涉及到参数顺序/位置时,一些核心函数似乎相当违反直觉和令人困惑,这里有一个例子:
> (nthrest (range 10) 5)
=> (5 6 7 8 9)
> (take-last 5 (range 10))
=> (5 6 7 8 9)
也许它背后有一些我还没有看到的规则/逻辑?
我不相信 Clojure 核心团队做出了如此多出色的技术决策,却忘记了函数命名/参数顺序的一致性。
或者我应该直接记住它吗?
谢谢
有点题外话:
rand&rand-int VS random-sample - 另一个函数命名似乎不一致的例子,但这是一个很少使用的函数,所以没什么大不了的。
【问题讨论】:
标签: clojure lisp clojurescript clojure-core