Erlang的運算子(比較子,數值運算子,移位元運算符,邏輯運算子)_PHP教程

來源:互聯網
上載者:User
Erlang的比較子

opDescription==等於/=不等於=<小於等於<小於>=大於等於>大於=:=精確的等於=/=精確的不等於等於和精確等於的區別:
如果要比較兩個數,如果兩個數之間是不同的類型,比如float和int那麼,==操作會首先把兩個數字轉換成相同的相同類型。舉例:

1> 1==1.0.
true
2> 1=:=1.0.
false

所以一般推薦用精確等於去比較

比較子的大小層級:

number < atom < reference < fun < port < pid < tuple < list < bit string

3> 1 > a.

false

opDescriptionArgument type+
number-
number+
number-
number*
number/浮點數除法,結果是浮點數numberbnot一元not運算子integerdiv整數除法,結果是整數integerrem求玉樹integerbandand運算integerboror運算integerbxorxor異或運算integerbsl左移位操作integerbsr右移位操作integer
邏輯運算子

opDescriptionnot一元邏輯notand邏輯andor邏輯orxor邏輯xor原子true 和false表示邏輯的”真”和”假”
此外,邏輯運算子還包括一個orelse 和andalso

原始的or和and是不帶”短路運算”操作的,而orelse和andalso是帶短路運算操作的。

短路運算舉例

Express1 and Express2

Express1 andalso Express2

如果Express1 為假,and會繼續判斷Express2,然後整體判定為假,而andalso”短路”操作,直接判定整個運算式為假,從效率上來說,andalso會高一些

複製代碼 代碼如下:
op Description
== 等於
/= 不等於
=< 小於等於
< 小於
>= 大於等於
> 大於
=:= 精確的等於
=/= 精確的不等於

Examples
複製代碼 代碼如下:
> 1==1.0.
true
> 1=:=1.0.
false
> 1 > a.
false

注: 一般語言的 小於等於 是"<=" 而erlang的 "=<" 這樣寫

http://www.bkjia.com/PHPjc/325803.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/325803.htmlTechArticleErlang的比較子 opDescription==等於/=不等於=小於等於小於=大於等於大於=:=精確的等於=/=精確的不等於等於和精確等於的區別: 如果要比較...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.