Функция locked
определена (исключение также должно указывать, в каком месте и с какой строки начинается ее определение), но ни одно из предложений не соответствует параметрам, показанным в исключении.
Например, , если мы определим
nfcm([H|T],X) ->
[H,X|T];
nfcm({A,B},C) ->
{A,C,B}.
Мы можем позвонить nfcm([1,2,3], 4)
и nfcm({1,2}, 3)
, чтобы получить [1,4,2,3]
и {1,3,2}
, но вызов nfcm(1, 2)
или nfcm({1,2,3}, 4)
приведет к исключению, как 1
не соответствует ни списку, ни кортежу, а {1,2,3}
также не соответствует списку и не соответствует кортежу из двух элементов.
Существует два способа решения проблемы: либо исправьте определение функции, либо исправьте параметры в соответствии с существующим определением.