Nim-Lang:如何在过程中接受任意数量的参数

问题描述

是否可以通过 Nim 中的过程接受任意数量的参数?

例如,如果我想获取多个参数的总和,它将看起来像这样

proc sum_all(x,y,z: int): int {.discardable.} = 
    return x+y+z

在Python中,看起来像这样

def sum_all(*args):
    return sum(args)

解决方法

Nim有varargs可以接受任意数量的参数

proc sum_all(numbers: varargs[int]): int {.discardable.} = 
    for number in items(numbers):
      result += number

echo(sum_all(1,2,3));