9
我经历“务实编程二郎”里有这样定义的函数: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'在某种程度上是不同的,因为我找不到一种方式将它转换为'cons'es,当使用时如此:'T ++ “\ r \ n” - 但感谢你的回答,我再次想到,我意识到这是可能的,尽管有点冗长。谢谢! – cji
'T ++“\ r \ n”'不能转换为conses,所以不能用于模式匹配。 –