Erlang笔记(10) - 断言

本文介绍了Erlang中的断言及其应用,包括断言序列、断言谓词和内置函数,如is_atom、is_list、abs、float等。通过示例解释了如何使用断言进行条件判断,并展示了如何结合布尔表达式进行更复杂的逻辑检查。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 断言
    • 断言是一种用于强化模式匹配的功能的结构,例如
      • max(X, Y) when X > Y -> X;  max(X, Y) -> Y.
      • 当第一个句子匹配就输出 X,当第一个句子不匹配就尝试第二个子句。
  2.  断言序列
    • 断言序列可以是单个的断言也可以是一系列用分号分开的断言序列。在断言集合G1; G2; ...; Gn中只要任何一个断言为 true,那么整个断言序列为 true.
    • 断言谓词
      • is_atom(X):判断 X 是原子
      • is_binary(X):判断 X 是二进制数据
      • is_constant(X):判断 X 是原子
      • is_float(X):判断 X 是浮点数
      • is_function(X):判断 X 是函数
      • is_function(X, N):判断 X 是有 N 个参数的函数
      • is_integer(X):判断 X 是整数
      • is_list(X):判断 X 是列表
      • is_number(X):判断 X 是整数或者浮点数
      • is_pid(X):判断 X 是进程标识符
      • is_port(X):判断 X 是端口
      • is_reference(X):判断 X 是引用
      • is_record(X, Tag):判断 X 是标记为 Tag 的记录
      • is_record(X, Tag, N):判断 X 是标记为 Tag 大小为 N 的记录
      • is_tuple(X):判断 X 是元祖
    • 断言 BIF, 内置函数
      • abs(X):X 的绝对值
      • element(N, X):元祖 X 的第 N 个元素
      • float(X):转化为浮点数
      • hd(X):列表 X 的头部
      • length(X):返回列表的长度
      • node():当前节点
      • node(X):创建 X 的节点, X可以使进程的标识符,引用或端口
      • round(X):四舍五入
      • self():当前进程的进程标识符
      • size(X):X 的大小,X 为元祖或者二进制数据
      • tl(X):返回列表的最后一个元素
      • trunc:截取数据 X 的整数部分
    • 断言样例
      • f(X, Y) when is_integer(X), X>Y, Y<6 -> ...
        • 当 X 是一个整数,且 X 大于 Y,且 Y 小于 6...
      • X =:= dog; X =:= cat
        • X是cat,或者是dog
      • 使用布尔表达式的断言
        • A >= 1.0 andalso A+1>B.
        • A >= 1.0 orelse A+1>B.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值