过程类型
过程类型是指向过程的指针。 nil 是过程类型变量允许的值。Nim使用过程类型达到 函数式 编程技术。
Example:
- proc echoItem(x: int) = echo x
- proc forEach(action: proc (x: int)) =
- const
- data = [2, 3, 5, 7, 11]
- for d in items(data):
- action(d)
- forEach(echoItem)
过程类型的一个小问题是调用规约影响类型兼容性:过程类型只兼容如果他们有相同的调用规约。不同的调用规约列在 manual 。