C#
JavaScript
Kotlin
Python
Набор значений можно передавать через коллекцию(например, массив), но при вызове функции ей надо передать объект этой коллекции:
void Sum(int[] numbers) { int result = 0; foreach (var n in numbers) { result += n; } Console.WriteLine(result); } int[] nums = { 1, 2, 3, 4, 5}; Sum(nums);
Используя ключевое слово params в C# можно передавать неопределенное количество параметров (не только массив или другую коллекцию):
void Sum(params int[] numbers) { int result = 0; foreach (var n in numbers) { result += n; } Console.WriteLine(result); } int[] nums = { 1, 2, 3, 4, 5}; Sum(nums); Sum(1, 2, 3, 4); Sum(1, 2, 3); Sum();
В JavaScript можно получить все параметры через массив arguments
:
function sum(){ let result = 0; for(const n of arguments) result += n; console.log(result); } sum(6, 4, 5) // 15
Через параметр-массив:
function sum(numbers){ let result = 0; for(const n of numbers) result += n; console.log(result); } sum([6, 4, 5]) // 15
Через параметр, который предваряется rest-оператором:
function sum(...numbers){ let result = 0; for(const n of numbers) result += n; console.log(result); } sum(6, 4, 5) // 15
fun sum(vararg numbers: Int) { var result = 0 for(n in numbers) { result = result + n } println(result) } fun main() { val nums = intArrayOf(1, 2, 3, 4, 5) sum(*nums) // 15 sum(1, 2, 3, 4) // 10 sum(1, 2, 3) // 6 sum() // 0 }
def sum(*numbers): result = 0 for n in numbers: result += n print(result) nums = [ 1, 2, 3, 4, 5] sum(*nums) # 15 sum(1, 2, 3, 4) # 10 sum(1, 2, 3) # 6 sum() # 0