Я недавно начал изучать erlang, но столкнулся с ошибкой, которая только меня озадачила.Ошибка синтаксиса Erlang перед: 'end'
Ошибка syntax error before: 'end'
на последней строке. Я посмотрел примеры, которые пытались найти ошибку, но в настоящий момент я полностью потерян. Есть идеи?
ChannelToJoin = list:keysearch(ChannelName,1,State#server_st.channels),
case ChannelToJoin of
% Channel exists.
{value, Tuple} ->
if
%User is not a member of the channel
not list:member(UserID, Tuple) ->
%Add the user to the channel
Tuple#channel.users = list:append(Tuple#channel.users, [UserID]);
% If the user is already a member of the channel.
true -> true
end;
%Channel doesn't exist
false ->
%Create new channel and add the user to it.
NewState = State#server_st{channels = list:append(State#server_st.channels, NewChannel = #channel{name = ChannelName, users = [UserID]}
end
Можете ли вы разместить больше кода? Это выглядит хорошо для меня, за исключением того, что вы пытаетесь обновить запись 'Tuple' в' if'. Помните: переменные в erlang доступны только для чтения – ZeissS