Function 如何在不同的编程语言中将不确定数量的参数传递给函数

Function 如何在不同的编程语言中将不确定数量的参数传递给函数,function,functional-programming,parameter-passing,Function,Functional Programming,Parameter Passing,我使用专有的™. 现在我觉得我必须迁移到一种更通用的编程语言。在阅读一些教程时,我在其他编程语言中寻找的一个非常重要的特性是如何向函数传递无限量的参数。这一特性显然没有在基本教程中介绍(至少我见过的那些教程没有介绍)。用Wolfram语言来说,这项任务非常简单™: Function[x]:=x; (*Function defined with one argument.*) Function[x__]:={x}; (*Function defined with indefinite amount

我使用专有的™. 现在我觉得我必须迁移到一种更通用的编程语言。在阅读一些教程时,我在其他编程语言中寻找的一个非常重要的特性是如何向函数传递无限量的参数。这一特性显然没有在基本教程中介绍(至少我见过的那些教程没有介绍)。用Wolfram语言来说,这项任务非常简单™:

Function[x]:=x; (*Function defined with one argument.*)
Function[x__]:={x}; (*Function defined with indefinite amount of arguments.*)
Function[{x__},{y__}]:={x}+{y}; (*Function defined with indefinite amount of arguments of two different "types".*)
(*Etc.*)
<> P>直到我在其他一些常用的编程语言(C,C++,java,python,Ruby,perl等)中知道如何做这件事,我就不能决定接下来要学习哪一个。p> 询问如何用其他编程语言完成这项任务的概要是否明智。并不是每种语言都支持它们,它们不是一个重要的特性-通常只需将数组/列表/向量(或任何标准的有序集合类型)作为单个参数传递,这在许多方面都更简单、更实用


和有许多不同编程语言的示例。

我认为这个问题对于stackoverflow来说有点过于宽泛。我们的Q&A格式最适用于只有一个正确答案的问题,对于开放式列表(如何在所有编程语言上执行X)或基于观点的问题(下一步我应该学习哪种语言)效果不佳。如果您认为这是一个重要的功能,那么您还有一些学习要做,因为在许多语言中,函数参数的确定性意味着您通常不想这样做。如果你使用Wolfram,你可能已经习惯了这些输入是数据向量之类的东西。现有的每种语言都允许您使用类型化参数(如数组、列表、向量、哈希等)来实现这一点。与其找到完美的下一种候选语言,不如选择一种,然后开始阅读它的使用方法以及最佳实践是什么,在大多数编程语言中,更习惯于使用在列表/数组上操作的函数,而不是接收任意数量参数的函数。你不需要做
sum(1,2)
sum(1,2,3)
你要做
sum([1,2,3])
。该函数只接收一个参数,它是一个包含多个元素的列表。@hugomg从技术上讲,我不是在问下一步应该学习哪种语言。这只是我明白这一点的明确动机。我想很多观众会很欣赏我的要求,最坏的例子是C和C++。每一种非玩具语言都可以编写一个与未知数量的值交互的程序…@naomik嗯,这显然对我很重要。否则,我甚至不介意问。你不觉得吗?哎呀。