"""
How to declare and use variable number of arguments:
* Put the `vari` keyword before the type of the argument.
* Use a `for` loop to enumerate through them.
You don't need to specify the type of the variable in the `for` loop. Cobra
infers that from what is being enumerated.
Also the var args are compatible with IEnumerable<of T> and IEnumerable.
So you can pass the argument wherever those types are expected.
"""
class Test
def allTrue(stuff as vari dynamic?) as bool
"""
Returns true only if all the stuff passed in is true.
"""
for x in stuff
if not x
return false
return true
def sumInts(stuff as vari int) as int
"""
Return the sum of all the ints.
"""
sum = 0
for x in stuff
sum += x
return sum
def main is shared
t = Test()
assert t.allTrue(1, 3.0, true)
assert not t.allTrue(1, 0, true)
assert t.sumInts(1, 2, 3)==6 |