Result变量
一个返回值的过程有一个隐式 result 变量声明代表返回值。一个没有表达式的 return 语句是 return result 的简写。 result 总在过程的结尾自动返回如果退出时没有 return 语句.
- proc sumTillNegative(x: varargs[int]): int =
- for i in x:
- if i < 0:
- return
- result = result + i
- echo sumTillNegative() # echos 0
- echo sumTillNegative(3, 4, 5) # echos 12
- echo sumTillNegative(3, 4 , -1 , 6) # echos 7
result 变量已经隐式地声明在函数的开头,那么比如再次用'var result'声明, 将用一个相同名字的普通变量遮蔽它。result变量也已经用返回类型的默认值初始化过。 注意引用数据类型将是 nil 在过程的开头,因此可能需要手动初始化。