Erlang入门语法

    xiaoxiao2021-03-25  104

    启动 Shell

    # erl Erlang/OTP 20 [erts-9.0] [source] [64-bit] [smp:1:1] [ds:1:1:10] [async-threads:10] [kernel-poll:false] Eshell V9.0 (abort with ^G)

    简单的整数运算

    1> 2+3*4. 14 2> (2+3)*4. 20

    变量

    1> X=123456. 123456 2> X. 123456 3> X*X*X*X. 232299784284558852096

    模式匹配

    1> X = (2+4). 6 2> Y = 10. 10 3> X = 6. 6 4> X = Y. ** exception error: no match of right hand side value 10

    浮点数

    1> 5/3. 1.6666666666666667 2> 4/2. 2.0 3> 5 div 3. 1 4> 5 rem 3. 2 5> 4 div 2. 2 6> Pi = 3.1415926. 3.1415926 7> R = 5. 5 8> Pi * R * R. 78.539815

    原子

    1> hello. hello 2> tojohnonly@hotmail. tojohnonly@hotmail 3> 'Friday'. 'Friday' 4> 'a'. a

    元组

    1> {john, 1.80}. {john,1.8} 2> {point, 10, 45}. {point,10,45} 3> F = {first_name, john}. {first_name,john} 4> L = {last_name, wei}. {last_name,wei} 5> P = {person, F, L}. {person,{first_name,john},{last_name,wei}}

    从元组中提取字段值

    1> Point = {point, 10, 45}. {point,10,45} 2> {point, X, Y} = Point. {point,10,45} 3> X. 10 4> Y. 45 5> Person = {person,{name,{first,john},{last,wei},{foot_size,40}}}. {person,{name,{first,john},{last,wei},{foot_size,40}}} 6> {_,{_,{_,Who},_,_}} = Person. {person,{name,{first,john},{last,wei},{foot_size,40}}} 7> Who. john %% _ , 表示我们不关心的变量 , 匿名变量 , 各个 _ 绑定的值不必相同

    列表

    1> ThingsToBuy = [{apple,10}, {pears,6}, {milk,3}]. [{apple,10},{pears,6},{milk,3}] 2> ThingsToBuy_1 = [{orange,4}, {newspaper,1} | ThingsToBuy]. [{orange,4},{newspaper,1},{apple,10},{pears,6},{milk,3}]

    从列表中提取元素

    3> [Buy_1 | ThingsToBuy_2] = ThingsToBuy_1. [{orange,4},{newspaper,1},{apple,10},{pears,6},{milk,3}] 4> Buy_1. {orange,4} 5> ThingsToBuy_2. [{newspaper,1},{apple,10},{pears,6},{milk,3}] 6> [Buy_2, Buy_3 | ThingsToBuy_3] = ThingsToBuy_2. [{newspaper,1},{apple,10},{pears,6},{milk,3}] 7> Buy_2. {newspaper,1} 8> Buy_3. {apple,10} 9> ThingsToBuy_3. [{pears,6},{milk,3}]

    字符串

    1> Name = "Hello". "Hello" 2> [83, 117, 114, 112, 105, 115, 101]. "Surpise" 3> [1, 83, 117, 114, 112, 105, 115, 101]. [1,83,117,114,112,105,115,101] 4> I = $s. 115 5> [I-32, $u, $r, $p, $r, $i, $s, $e]. "Surprise"

    再论模式匹配

    1> {X, abc} = {123, abc}. {123,abc} 2> X. 123 3> f(). ok 4> {X,Y,Z} = {222,def,"cat"}. {222,def,"cat"} 5> X. 222 6> Y. def 7> Z. "cat" %% f(). 释放所有绑定过的变量

    作者 Github : tojohnonly , 博客 : EnskDeCode

    转载请注明原文地址: https://ju.6miu.com/read-5384.html

    最新回复(0)