• Discard表达式

    Discard表达式

    示例:

    1. proc p(x, y: int): int =
    2. result = x + y
    3.  
    4. discard p(3, 4) # 丢弃 `p` 的返回值

    discard 语句评估其副作用的表达式,并丢弃表达式的结果。

    在不使用discard语句的情况下忽略过程的返回值是一个静态错误。

    如果使用 discardable 编译指示声明了被调用的proc或iterator,则可以隐式忽略返回值:

    1. proc p(x, y: int): int {.discardable.} =
    2. result = x + y
    3.  
    4. p(3, 4) # now valid

    discard 语句通常用作null语句:

    1. proc classify(s: string) =
    2. case s[0]
    3. of SymChars, '_': echo "an identifier"
    4. of '0'..'9': echo "a number"
    5. else: discard