Erlang運算符


1)算術運算符

  +:加  -:減  *:乘  /:除(結果為float類型)  div:整除  rem:整除取余 

  注意最后的結果都是二進制

  band是按位與運算  2#10 band 2#110.  》》  2

  bor是按位或運算  3#10 bor 2#100.  》》  7  3#10先轉為2#11

  bxor是按位異或  2#10 bxor 2#11.  》》  1

  bsl按位左移  2#10 bsl 2  》》  8  2#1000

  bsr按位右移  2#10 bsr 2  》》  0 

 

2)比較運算符

  1.比較運算符的大小級別::number < atom < reference < fun < port < pid < tuple < list < bit string

 

  2.==等於  /=不等於  =<小於等於  <小於  >=大於等於  >大於  =:=精確的等於  =/=精確的不等於

  等於和精確等於的區別:如果要比較兩個數,如果兩個數之間是不同的類型,比如float和int那么,==操作會首先把兩個數字轉換成相同的相同類型。舉例:
  1> 1==1.0.
  true
  2> 1=:=1.0.
  false 

  

  3.列表是按照字典順序排列,就像是字典里面的詞一樣.第一個元素先比較,然后第二個元素再次比較.

  [a,b]<[d,e]   True

  [a,b]<[a,a]   Flase

  

  4.元素的比較是先比較元素的數目,然后在一個個比較各個元素

  {a,b}<{a,b,c} True

  {a,b}<{a,c}    True

 

3)邏輯運算符

  not:取反  and:全真為真,一假為假  or:一真為真,全假為假  xor:異或

  andalso與and以及orelse與or的區別:

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

  短路運算舉例

  Express1 and Express2

  Express1 andalso Express2

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

 

4)數組運算

  最后還有個數組運算,++或者–,很簡單

  1[1,2++ [3,4].

  [1,2,3,4]

  2[1,2-- [3,4].

  [1,2]

  3[1,2-- [1,4].

  [2]

  4[1,2++ [1,4].

  [1,2,1,4]

  5[1,2-- [1,2].

  []


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM