一、赋值时匹配
原子匹配
复制代码 代码如下:
atom = atom % atom
another = another % another
atom = another % exception error
变量匹配
复制代码 代码如下:
Var = 2. % 2
Var = 3 - 1. % 2
Var = 1. % exception error
元组匹配
复制代码 代码如下:
Attr = {name, sloger}. % {name, sloger}
{name, Name} = Attr. % {name, sloger}
Name. % sloger
列表匹配
复制代码 代码如下:
Langs = [perl, python, ruby, erlang].
[Head | Tail] = Langs.
Head. % perl
Tail. % [python, ruby, erlang]
参数匹配
复制代码 代码如下:
sum([]) -> 0;
sum([H|T]) -> H + sum(T).
sum([1, 2, 3]). % 6
记录匹配
复制代码 代码如下:
%% 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 中的模式匹配总结"
Slug. % "summary-of-pattern-match-in-erlang"
比特匹配
复制代码 代码如下:
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
复制代码 代码如下:
if
Pattern1 [when Guard1] -> Expression1;
Pattern2 [when Guard2] -> Expression2;
%% and so on ...
_ -> Expression3 % 匹配所有其它结果
end.
case
复制代码 代码如下:
case Expression of
Pattern1 [when Guard1] -> Expression1;
Pattern2 [when Guard2] -> Expression2;
%% and so on ...
_ -> Expression3
end.
try catch
复制代码 代码如下:
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
消息传递匹配
复制代码 代码如下:
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}}
Erlang,匹配模式
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]