Con Erlang posso fare qualcosa di simile:Pattern matching con stringa in Erlang. Variabile in posizione sinistra
"kapa" ++ D = "kapagama". % D now has a value "gama"
C'è un modo per mettere la "variabile" in posizione di sinistra? Qualcosa di simile
D ++ "gama" = "anyLengthStringgama".
Per questo guscio espressione restituisce un errore:
* 1: illegal pattern
Domanda bonus: Qualcuno può spiegare perché non funziona? Qual è la logica dietro?
Grazie per la spiegazione dello zucchero sintattico! – kharandziuk
La ragione di ciò è che la corrispondenza del modello non può ** cercare **, può solo corrispondere a modelli espliciti. 'D ++" gama "' sta fondamentalmente dicendo cercare la stringa fino a trovare un '" gama "' alla fine, quindi restituire tutto prima di esso, che non funziona. – rvirding