nim-lang - 在 Nim 中使用与 Iterator 同名的 Proc 是否安全?
问题描述
我想定义为能够编写短代码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
解决方案
推荐阅读
- perl - 由于使用 Net::FTPSSL 的握手问题,SSL 连接尝试失败
- python - Telethon:不返回某些群聊消息
- reactjs - 反应路由器没有在传奇中重定向
- python - 为什么 python 4 android 不起作用?
- javascript - react-query 不会停止重试获取 API
- json - gcloud ai-platform predict 的非 json 输出。解析非 json 输出
- c - 在struct中定义指向int指针数组的指针,如何访问这些int?
- groovy - 如何在 Groovy 中使用阿拉伯语字符?
- c++ - std::iterator_traits 中的 iterator_category 与 iterator_category() 有什么区别
- javascript - 如何使用 React 测试库通过动态 testid 获取组件