Discard表达式
示例:
- proc p(x, y: int): int =
- result = x + y
- discard p(3, 4) # 丢弃 `p` 的返回值
discard 语句评估其副作用的表达式,并丢弃表达式的结果。
在不使用discard语句的情况下忽略过程的返回值是一个静态错误。
如果使用 discardable 编译指示声明了被调用的proc或iterator,则可以隐式忽略返回值:
- proc p(x, y: int): int {.discardable.} =
- result = x + y
- p(3, 4) # now valid
空 discard 语句通常用作null语句:
- proc classify(s: string) =
- case s[0]
- of SymChars, '_': echo "an identifier"
- of '0'..'9': echo "a number"
- else: discard