亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Erlang函數、子句、子句保護式實例分析

發布時間:2022-04-06 16:34:35 來源:億速云 閱讀:114 作者:iii 欄目:編程語言

本篇內容介紹了“Erlang函數、子句、子句保護式實例分析”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!


函數:

%% 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項式,~n 表示插入一個換行符, ~w 表示打印Erlang字符串

函數子句:

-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).

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

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

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

子句保護式:

-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;

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

“Erlang函數、子句、子句保護式實例分析”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昂仁县| 昭通市| 隆尧县| 杭锦旗| 张家川| 万年县| 镶黄旗| 汉沽区| 资兴市| 文安县| 永安市| 连平县| 吐鲁番市| 江西省| 汕头市| 嘉义市| 清河县| 泰和县| 郑州市| 焦作市| 富顺县| 石渠县| 吴川市| 新宁县| 黄陵县| 汉寿县| 津市市| 邵武市| 兴城市| 赫章县| 濮阳市| 南宫市| 类乌齐县| 民权县| 鲜城| 无棣县| 天津市| 横山县| 公安县| 黑水县| 高清|