为什么我不能在没有大括号的情况下调用 Nim proc?
Why can't I call Nim proc without braces?
Nim 支持不带大括号的 proc 调用表达式,但是当我使用命名参数时它会抱怨,为什么?
proc doc(text: string) {.discardable.} = echo text
doc "doc1"
doc(text = "doc1")
doc text = "doc1" # <== Error here
投诉是 Error: undeclared identifier: 'text'
,因为您使用未声明的值调用 doc
过程。这有效:
proc doc(text: string) = echo text
let text = "doc1"
doc text
行 doc text = "doc1"
告诉程序 1) 使用变量 text
作为第一个参数调用过程 doc
和 2) 将“doc1”分配给该过程返回的任何内容。所以你会发现错误 Error: 'doc text' cannot be assigned to
.
Nim 支持不带大括号的 proc 调用表达式,但是当我使用命名参数时它会抱怨,为什么?
proc doc(text: string) {.discardable.} = echo text
doc "doc1"
doc(text = "doc1")
doc text = "doc1" # <== Error here
投诉是 Error: undeclared identifier: 'text'
,因为您使用未声明的值调用 doc
过程。这有效:
proc doc(text: string) = echo text
let text = "doc1"
doc text
行 doc text = "doc1"
告诉程序 1) 使用变量 text
作为第一个参数调用过程 doc
和 2) 将“doc1”分配给该过程返回的任何内容。所以你会发现错误 Error: 'doc text' cannot be assigned to
.