2017-03-05 41 views
0
perform(Cmd, Decisions, Slot_out, Database) -> 
    {Client, Cid, Op} = Cmd, 
    Is_member = lists:member(maps:values(maps:with(lists:seq(1, Slot_out - 1), Decisions)), 
    if 
    Is_member == true -> 
     nothing; 
    true -> 
87  Database ! {execute, Op}, 
88  Client ! {response, Cid, ok} 
89 end, 
90 Slot_out + 1. 

在erlang中我寫了這樣的代碼,但它總是有錯誤。函數replica.erl:90:之前的語法錯誤:'。'

90:syntax error before: '.' 

任何人都知道如何解決它?非常感謝!

+0

由於@byaruhaf解決您的問題,請接受他們的答案。 我也有一個額外的建議:嘗試IDEA IDE + Erlang插件。它將標記你任何這樣的錯誤,而不需要編譯。 https://github.com/ignatov/intellij-erlang –

回答

1

缺少一個右括號「)」在此行

Is_member = lists:member(maps:values(maps:with(lists:seq(1, Slot_out - 1), Decisions)), 

它應該是:

Is_member = lists:member(maps:values(maps:with(lists:seq(1, Slot_out - 1), Decisions))), 
+0

謝謝!我很笨...... – Shadow

+0

@shadow別擔心。 – byaruhaf