Erlang 学习笔记-第二天 运算符,循环语句,条件语句

Erlang 有以下类型的运算符 -
  • 算术运算符

    • rem   第二数除以第一数的余数  示例  3 rem 2 = 1
    • div  div组件将执行除法并返回整数部分 3 div 2 = 1
    • 其余 + - * / 类似科学计算法
  • 关系运算符

    • ==  测试两个对象是否相等  
    • /=  测试两个对象是否为不相等
    • <  测试左边对象是否小于右边操作对象
    • =<  测试左边对象是否小于或等于右边操作对象
    • >  测试左边对象是否大于右边操作对象
    • >=  测试左边对象是否大于或等于右边操作对象
  • 逻辑运算符

    • or   逻辑 “或”操作符  true 或 true 结果为 true
    • and  逻辑 “与”操作符  True 与 false 结果为 false
    • not  逻辑 “非”操作符  非 false 结果为 true
    • xor   逻辑 “异或”操作符   True异或 false 结果为 false
  • 位运算符

    Erlang提供四个位运算符。以下是在 Erlang 可用的位运算符。  band   bor  bxor  bnot

Erlang 循环语句:

  while语句实现, 由于Erlang中没有直接的while语句,因此必须使用Erlang中可用的递归技术来执行while语句的实现。

while_loop(List) ->

  while_loop(List, 0).

while_loop([], Acc) ->

  {done, Acc};

while_loop([_|T], Acc) ->

  io:format("Current index: ~w~n", [Acc]),

  while_loop(T, Acc + 1).

 

%% 计算列表中所有元素的和

sum([], Acc) ->

   Acc ;    %% 空列表的和为累积参数Acc的值

sum([H|T], Acc) ->      %% 递归调用sum函数,将Acc加上当前列表头部元素,并传递给下一次递归调用 

  sum(T, Acc + H).         %% 用于调用sum函数的接口

get_sum(List) ->

   sum(List, 0).    %% 初始累积参数Acc的值为0

 

for语句: 

由于 Erlang 没有直接 for 语句,因此必须使用 Erlang 的递归技术来实现 for 语句。我们将尝试按照其他编程语言所遵循的相同的 for 循环实现。以下是应遵循的一般流程。

for(0,_) -> 
   []; 
   for(N,Term) when N > 0 -> 
   io:fwrite("Hello~n"), 
   [Term|for(N-1,Term)]. 
start() -> 
   for(5,1).

条件语句:
决策结构要求程序员指定一个或多个要由程序评估或测试的条件,如果条件被确定为真(true),则指定一个或多个要执行的语句,如果条件被确定为假(false),则指定其他要执行的语句。
提供了四种 决策声明:
if语句 : if语句由一个布尔表达式和一个或多个语句组成。
多重表达式 : If 表达式还允许同时计算多个表达式
嵌套if语句 : 可以在另一个 if 或 else if 语句中使用 if 或 else if 语句
Case语句 : 它可以用于根据case语句的输出执行表达式

 

 

 

posted @ 2024-02-02 17:58  d-w  阅读(77)  评论(0编辑  收藏  举报