2

因此,我安裝了IntelliJ的Erlang插件,並且遇到了障礙。我有一個匿名函數,我插入一條if語句。這應該可行,但事實並非如此。Erlang幫助:在匿名函數中使用If語句

Max_Fun = fun(X, Max) -> if 
          X > Max -> X; 
          X <= Max -> Max 
         end 

見我的問題是,小於或等於比較有一個紅色波浪下劃線。當我將鼠標懸停在上面時,我被告知「'< ='意外' 爲什麼會發生這種情況,我該如何解決?

回答

5

它應該是這樣的:

Max_Fun = fun(X, Max) -> if 
           X > Max -> X; 
           X =< Max -> Max 
          end 
       end. 

當我在它懸停,有人告訴我「‘< =’意外」這是爲什麼 發生的事情,我怎麼能解決這個問題?

erlang中的簡單規則是比較運算符永遠不會像箭頭一樣。所以當你認爲你應該輸入< =它實際上是= <

+0

因此,其他版本將是「> =」。等號最後? –

+0

是的,這是正確的。 – Limmen

+0

你知道這個語法背後的推理是什麼嗎? –