Erlang函數(shù)、子句、子句保護(hù)式實(shí)例分析

本篇內(nèi)容介紹了“Erlang函數(shù)、子句、子句保護(hù)式實(shí)例分析”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),成都做網(wǎng)站公司-創(chuàng)新互聯(lián)已向上千多家企業(yè)提供了,網(wǎng)站設(shè)計(jì),網(wǎng)站制作,網(wǎng)絡(luò)營銷等服務(wù)!設(shè)計(jì)與技術(shù)結(jié)合,多年網(wǎng)站推廣經(jīng)驗(yàn),合理的價(jià)格為您打造企業(yè)品質(zhì)網(wǎng)站。


函數(shù):

%% This is a simple Erlang module
%  Test ...
-module(helloworld).
-export([pie/0, print/1]).

pie() ->
        3.14
        .
print(Msg) ->
        io:format("The Message is ~p.~n",[Msg])  %~p 表示以美化的方式打印Erlang項(xiàng)式,~n 表示插入一個換行符, ~w 表示打印Erlang字符串

函數(shù)子句:

-module(helloworld).
-export([area/1, either_or_both/2]).
% “_” 表示省略模式
either_or_both(true, _) ->
        true;
either_or_both(_, true) ->
        false;
either_or_both(false, false) ->
        false;

area({a, X, Y}) -> 
        io:format("a, X, Y: ~p, ~p, ~p.~n", [a, X, Y]); 
area({b, X, Y}) ->
         io:format("b, X, Y: ~p, ~p, ~p.~n", [b, X, Y]). 

%編譯:
c(helloworld).

%調(diào)用函數(shù):
1> helloworld:area({a, 500, 500}).
a, X, Y: a, 500, 500.
ok
2>

注意:子句是用分好分隔且最后一個子句由句號結(jié)尾。同意函數(shù)的所有子句必須具備相同的函數(shù)名和相同的參數(shù)數(shù)量,且必須在同一處定義,不允許在同一函數(shù)的兩個子句之間再插入其他函數(shù)定義。

對于either_or_both函數(shù),如果傳遞的參數(shù)為either_or_both(true, 42),很顯然是成立的,它只會平靜地返回true,因此這就需要用到我們的保護(hù)式。

子句保護(hù)式:

-module(helloworld).
-export([either_or_both/2]).

either_or_both(true, B) when is_boolean(B) ->
        true;
either_or_both(A, true) when is _boolean(A) ->
        false;
either_or_both(false, false) ->
        false;

子句保護(hù)式由關(guān)鍵字when開始到->符號結(jié)束。能用在保護(hù)式中得操作時十分有限的,大部分運(yùn)算符都可以使用(+、-、*、/、++等),部分內(nèi)置函數(shù)也可以用,如:self()、 is_boolean(...)、is_integer(...)、is_atom(...)等,但你不能調(diào)用自定義的函數(shù)或其他模塊中得函數(shù)。

“Erlang函數(shù)、子句、子句保護(hù)式實(shí)例分析”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

網(wǎng)頁標(biāo)題:Erlang函數(shù)、子句、子句保護(hù)式實(shí)例分析
標(biāo)題網(wǎng)址:http://muchs.cn/article2/jpjooc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、外貿(mào)網(wǎng)站建設(shè)App開發(fā)、用戶體驗(yàn)、網(wǎng)頁設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管