Erlang的運算符(比較運算符,數(shù)值運算符,移位運算符,邏輯運算符)
更新時間:2012年07月23日 23:11:09 作者:
如果要比較兩個數(shù),如果兩個數(shù)之間是不同的類型,比如float和int那么,==操作會首先把兩個數(shù)字轉(zhuǎn)換成相同的相同類型
Erlang的比較運算符
opDescription==等于/=不等于=<小于等于<小于>=大于等于>大于=:=精確的等于=/=精確的不等于等于和精確等于的區(qū)別:
如果要比較兩個數(shù),如果兩個數(shù)之間是不同的類型,比如float和int那么,==操作會首先把兩個數(shù)字轉(zhuǎn)換成相同的相同類型。舉例:
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/浮點數(shù)除法,結(jié)果是浮點數(shù)numberbnot一元not運算符integerdiv整數(shù)除法,結(jié)果是整數(shù)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會繼續(xù)判斷Express2,然后整體判定為假,而andalso”短路”操作,直接判定整個表達(dá)式為假,從效率上來說,andalso會高一些
op Description
== 等于
/= 不等于
=< 小于等于
< 小于
>= 大于等于
> 大于
=:= 精確的等于
=/= 精確的不等于
Examples
> 1==1.0.
true
> 1=:=1.0.
false
> 1 > a.
false
注: 一般語言的 小于等于 是"<=" 而erlang的 "=<" 這樣寫
opDescription==等于/=不等于=<小于等于<小于>=大于等于>大于=:=精確的等于=/=精確的不等于等于和精確等于的區(qū)別:
如果要比較兩個數(shù),如果兩個數(shù)之間是不同的類型,比如float和int那么,==操作會首先把兩個數(shù)字轉(zhuǎn)換成相同的相同類型。舉例:
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/浮點數(shù)除法,結(jié)果是浮點數(shù)numberbnot一元not運算符integerdiv整數(shù)除法,結(jié)果是整數(shù)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會繼續(xù)判斷Express2,然后整體判定為假,而andalso”短路”操作,直接判定整個表達(dá)式為假,從效率上來說,andalso會高一些
復(fù)制代碼 代碼如下:
op Description
== 等于
/= 不等于
=< 小于等于
< 小于
>= 大于等于
> 大于
=:= 精確的等于
=/= 精確的不等于
Examples
復(fù)制代碼 代碼如下:
> 1==1.0.
true
> 1=:=1.0.
false
> 1 > a.
false
注: 一般語言的 小于等于 是"<=" 而erlang的 "=<" 這樣寫
相關(guān)文章
PHP 的異常處理、錯誤的拋出及回調(diào)函數(shù)等面向?qū)ο蟮腻e誤處理方法
PHP 5 提供了一種新的面向?qū)ο蟮腻e誤處理方法,包括PHP 的異常處理、錯誤的拋出及回調(diào)函數(shù)等面向?qū)ο蟮腻e誤處理方法,需要了解更多的朋友可以參考下2012-12-12了解Joomla 這款來自國外的php網(wǎng)站管理系統(tǒng)
joomla在國外很熱,就連臺灣都有不少站使用joomla,國內(nèi)就對joomla缺乏了解。大多都使用dedecms或者phpcms等。在這四個月來一直在學(xué)習(xí)joomla,覺得用它來建站很方便。2010-03-03PHP數(shù)據(jù)庫調(diào)用類調(diào)用實例(詳細(xì)注釋)
PHP開發(fā)中我們經(jīng)常需要用一些數(shù)據(jù)庫類,這里簡單的分享下調(diào)用類的代碼,學(xué)習(xí)php數(shù)據(jù)庫操作的朋友可以參考下2012-07-07用js進行url編碼后用php反解以及用php實現(xiàn)js的escape功能函數(shù)總結(jié)
這次第一次用smarttemplate這個模板,比smarty小巧了很多,但也有些不方便的地方。2010-02-02jQuery+PHP發(fā)布的內(nèi)容進行無刷新分頁(Fckeditor)
這篇文章主要介紹了jQuery結(jié)合,將Fckeditor發(fā)布的內(nèi)容進行無刷新分頁,需要的朋友可以參考下2015-10-10php將遠(yuǎn)程圖片保存到本地服務(wù)器的實現(xiàn)代碼
有些時候我們想保存一些漂亮圖片,但又不想手動去保存下來,尤其是大批量的存儲,這個時候我們需要寫一段程序來幫助我們完成這個工作,本文介紹了php如何將遠(yuǎn)程圖片本地化,需要的朋友可以參考下2015-08-08php導(dǎo)入大量數(shù)據(jù)到mysql性能優(yōu)化技巧
這篇文章主要介紹了php導(dǎo)入大量數(shù)據(jù)到mysql性能優(yōu)化技巧,通過針對SQL語句的優(yōu)化實現(xiàn)了mysql性能的提高,非常具有實用價值,需要的朋友可以參考下2014-12-12