匿名过程

未命名过程可以用 lambda 表达式传递给其他过程:

  1. var cities = @["Frankfurt", "Tokyo", "New York", "Kyiv"]
  2. cities.sort(proc (x, y: string): int =
  3. cmp(x.len, y.len))

过程表达式既可以嵌套在过程中,也可以在上层可执行代码中。sugar 模块包含 \=> 宏,它为匿名过程提供了更简洁的语法,类似于 JavaScript 、 c# 等语言中的 lambda 。