这里简单的问题是Clojure。处理字符串时哪个更惯用?在处理其他数据类型时哪个更惯用?哪个更有效率?
(drop 1 str)
或
(rest str)
答案 0 :(得分:26)
无论你处理什么,rest
都会更有效率,但差别将是如此微不足道,以至于无趣。
确保您知道自己是想要rest
还是next
,因为在某些情况下这很重要。 rest
更加懒散,而且可能更频繁,但如果您在需要rest
时使用next
,则结果可能难以追踪。
对于字符串......都不是!使用subs
,内置子字符串运算符:
user> (subs "hears" 1)
"ears"
rest
没问题,但它会产生一系列字符而不是字符串;通常你会发现一个更容易处理的字符串,并且很容易在以后的某个时候把它变成一个字符序列。