【发布时间】:2020-08-27 12:57:20
【问题描述】:
我想定义proc 与iterator 同名,以便能够编写短代码table.keys.sorted。
Nim 似乎支持这一点并正确解决了命名冲突。
这是 Nim 的官方功能,未来版本会支持吗?使用这种方法是否安全?
例子
import tables, algorithm
var table = init_table[string, int]()
table["b"] = 2
table["a"] = 1
# Proc with same name as Iterator
proc keys*[K, V](table: Table[K, V]): seq[K] =
for k in table.keys: result.add k
# Nim properly resolves `keys` as `proc` and not as `iterator`
echo table.keys.sorted
【问题讨论】:
标签: nim-lang