对于Clojure,这里有一个简单的问题。处理字符串时,哪个更惯用?在处理其他数据类型时,哪个更惯用?哪个更有效?
(drop 1 str)
或者
(rest str)
最佳答案
无论您要处理的是什么,rest
都会更高效,但是区别将变得微不足道,以至于变得无趣。
确保知道您想要rest
还是next
,因为在某些情况下这很重要。 rest
较为懒惰,并且可能更经常使用,但是如果您在需要rest
时使用next
,则可能难以追踪结果。
对于字符串...都不行!使用内置子字符串运算符subs
:
user> (subs "hears" 1)
"ears"
rest
很好,但是它会产生一定数量的字符而不是字符串。通常,您会发现一个更易于处理的字符串,并且足够简单,可以稍后再将其转换为一系列字符。
关于clojure - Clojure中的惯用语: (drop 1 str) or (rest str)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5616012/