婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > Erlang中的匹配模式總結(jié)

Erlang中的匹配模式總結(jié)

熱門標(biāo)簽:電銷機(jī)器人 深圳 萬(wàn)利達(dá)綜合醫(yī)院地圖標(biāo)注點(diǎn) 地圖標(biāo)注如何弄全套標(biāo) 外呼系統(tǒng)會(huì)封嗎 實(shí)體店地圖標(biāo)注怎么標(biāo) 武漢AI電銷機(jī)器人 南京電銷外呼系統(tǒng)哪家好 在電子版地圖標(biāo)注要收費(fèi)嗎 股票配資電銷機(jī)器人

一、賦值時(shí)匹配

原子匹配

復(fù)制代碼 代碼如下:

atom    = atom                        % atom
another = another                     % another
atom    = another                     % exception error

變量匹配
復(fù)制代碼 代碼如下:

Var = 2.                              % 2
Var = 3 - 1.                          % 2
Var = 1.                              % exception error

元組匹配
復(fù)制代碼 代碼如下:

Attr = {name, sloger}.                % {name, sloger}
{name, Name} = Attr.                  % {name, sloger}
Name.                                 % sloger

列表匹配
復(fù)制代碼 代碼如下:

Langs = [perl, python, ruby, erlang].
[Head | Tail] = Langs.
Head.                                 % perl
Tail.                                 % [python, ruby, erlang]

參數(shù)匹配
復(fù)制代碼 代碼如下:

sum([]) -> 0;
sum([H|T]) -> H + sum(T).

sum([1, 2, 3]).                       % 6


記錄匹配
復(fù)制代碼 代碼如下:

%% record(post, {title, slug, body, author}).

Post = #post{title = "Pattern Match in Erlang",
             slug = "pattern-match-in-erlang",
             body = "Bla bla bla...",
             author = sloger}.

#post{title = Title, slug = Slug} = Post.

Title.                                % "Erlang 中的模式匹配總結(jié)"
Slug.                                 % "summary-of-pattern-match-in-erlang"


比特匹配
復(fù)制代碼 代碼如下:

Red = 5.
Green = 23.
Blue = 200.

Color = Red:5, Green:6, Blue:5>>.

R1:5, G1:6, B1:5>> = Color.

R1.                                   % 5
G1.                                   % 23
B1.                                   % 200


二、流程控制中的匹配

if

復(fù)制代碼 代碼如下:

if
    Pattern1 [when Guard1] -> Expression1;
    Pattern2 [when Guard2] -> Expression2;
    %% and so on ...
    _                      -> Expression3           % 匹配所有其它結(jié)果
end.


case

復(fù)制代碼 代碼如下:

case Expression of
    Pattern1 [when Guard1] -> Expression1;
    Pattern2 [when Guard2] -> Expression2;
    %% and so on ...
    _                      -> Expression3
end.


try catch

復(fù)制代碼 代碼如下:

try FunctionOrExpressions of
    Pattern1 [when Guard1] -> Expression1;
    Pattern2 [when Guard2] -> Expression2
    %% and so on ...
catch
    ExType:ExPattern1 [when ExGuard1] ->
        ExExpression1;
    ExType:ExPattern2 [when ExGuard2] ->
        ExExpression2;
    %% and so on ...
    _:_ -> DefaultExExpression               % _:_ 匹配所有異常
after
    AfterExpressions
end

消息傳遞匹配

復(fù)制代碼 代碼如下:

loop() ->
    receive
        {From, {rectangle, Width, Height}} ->
            From ! {self(), Width * Height},
            loop();
        {From, {circle, R}} ->
            From ! {self(), 3.14 * R * R},
            loop();
        {From, _Other} ->
            From ! {self(), {error, unknown_shape}}
            loop()
    end.
Pid = spawn(fun loop/0).
Pid ! {self(), {rectangle, 10, 5}}.         % {Pid, 50}
Pid ! {self(), {circle, 4}}.                % {Pid, 50.24}
Pid ! {self(), {square, 10}}.               % {Pid, {error, unknown_shape}}

標(biāo)簽:泰安 安徽 廣東 武威 濟(jì)寧 臺(tái)州 濟(jì)源 汕頭

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Erlang中的匹配模式總結(jié)》,本文關(guān)鍵詞  Erlang,中的,匹配,模式,總結(jié),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Erlang中的匹配模式總結(jié)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Erlang中的匹配模式總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 黎城县| 和硕县| 米脂县| 隆安县| 长葛市| 宁乡县| 同德县| 南雄市| 雷山县| 蒙城县| 襄汾县| 闽侯县| 台安县| 龙口市| 霍林郭勒市| 莱芜市| 大理市| 金门县| 启东市| 永济市| 濮阳县| 白沙| 怀柔区| 延长县| 于都县| 永修县| 根河市| 云梦县| 晋州市| 郯城县| 竹山县| 清涧县| 宝坻区| 泰宁县| 鄄城县| 望奎县| 化州市| 高平市| 甘洛县| 新竹县| 方城县|