我正在学习《实用Erlang编程》一书中,这里定义了一个函数:
split("\r\n\r\n" ++ T, L) -> {reverse(L), T};
split([H|T], L) -> split(T, [H|L]);
split([], _) -> more.
我关心的是第一个匹配项,即"\r\n\r\n" ++ T
和我想出来的类似的一个匹配项[13,10,13,10|T]
之间是否存在性能差异?还是它们等效?
我知道这是非常简单的问题,而且我可能可以自己检查,但是如果存在差异,我想知道原因。
谢谢!
L1 ++ L2
与T ++ "\r\n"
的使用方式不同,因为我找不到一种方法将其转换为cons
。但是,感谢您的回答,我重新思考并意识到虽然有点冗长,但这是可能的。谢谢! - cjiT ++ "\r\n"
无法转换为 conses,因此无法在模式匹配中使用。 - Hynek -Pichi- Vychodil