sto attraversando "pragmatico Programming Erlang" dove c'è una funzione definita in questo modo:Erlang: quale abbinamento di pattern è più efficiente (liste)?
split("\r\n\r\n" ++ T, L) -> {reverse(L), T};
split([H|T], L) -> split(T, [H|L]);
split([], _) -> more.
Che mi interessa è prima partita, vale a dire "\r\n\r\n" ++ T
- c'è differenza di prestazioni tra un tale modello e uno simile, che mi è venuto in mente: [13,10,13,10|T]
? O sono equivalenti?
So che è una domanda molto semplice e che potrei (probabilmente) controllare da solo, ma se c'è una differenza, mi piacerebbe sapere perché è così.
Grazie!
Ho pensato che forse "L1 ++ L2' è in qualche modo diverso, perché non ho trovato un modo per trasformarlo in' cons'es quando usato in questo modo: 'T ++ "\ r \ n" '- ma grazie alla tua risposta ho ripensato e ho capito che è possibile, anche se un po 'lungo. Grazie! – cji
'T ++" \ r \ n "' non può essere trasformato in conse, quindi non può essere utilizzato nella corrispondenza del modello. –