Void上下文

在语句列表中,除最后一个表达式之外的每个表达式都需要具有类型 void 。 除了这个规则之外,对内置 result 符号的赋值也会触发后续表达式的强制 void 上下文:

  1. proc invalid*(): string =
  2. result = "foo"
  3. "invalid" # 错误: 'string' 类型值必须丢弃
  1. proc valid*(): string =
  2. let x = 317
  3. "valid"