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 类型也满
超级会员免费看
订阅专栏 解锁全文
2

被折叠的 条评论
为什么被折叠?



