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

この構文の理由は何ですか? –