21、Nim 编程:概念、模板与宏的深入解析

Nim 编程:概念、模板与宏的深入解析

1. 概念(Concepts)

在 Nim 中,概念是由一个或多个表达式组成的。当一个类型与概念进行检查时,只要满足以下两个条件,就可以说该类型实现了这个概念:
- 概念主体中的所有表达式都能编译通过。
- 所有计算结果为布尔值的表达式都为真。

下面是一个简单的 myMax 过程示例:

proc myMax(a, b: Comparable): Comparable =
  if a < b:
    return b
  else:
    return a

可以通过编写一些快速测试来验证 Comparable 概念是否按预期工作:

doAssert myMax(5, 10) == 10
doAssert myMax(31.3, 1.23124) == 31.3

第一个测试使用两个 int 参数,因为存在 proc <(a, b: int): bool ,所以 int 类型满足 Comparable 概念。第二个测试使用两个 float 参数,同样存在 proc <(a, b: float): bool ,所以 float 类型也满

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值