f# - f#中的可变长度元组

标签 f#

是否可以编写一个函数来接受可变长度的元组?我正在尝试编写一个可以这样调用的方法:

let a = sum(1,2)
let b = sum(1,2,3)

编辑:可以将其解释为带有参数的函数调用吗?或者该方法需要用C#编写:
double sum(params object[] double) {
    ...
}

最佳答案

不,从定义上看,元组不是可变长度的,要编写这样的函数,您需要C++中的模板元编程之类的东西,而F#中没有这样的东西。 let inline也不会对您有帮助。

当然,如果您选择一个列表,它看起来不会有太大不同:

sum[1; 2]
sum[1; 2; 3]

关于f# - f#中的可变长度元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1135580/

相关文章:

F# 无法捕获 DivideByZeroException

f# - 从 F# 中的集合中获取随机子集

f# - 在 Deedle 中查找每个分层索引的 Stats.max

sql-server - 类型提供程序无法连接到 localDB

c#-4.0 - 在 F# 中访问动态属性

memory-leaks - F# 中的计算是否在完成时调用 Dispose()?

f# - 具有访问器的静态属性的所有标识符都应该以大写字母开头吗?

f# - 来自其他 .NET 语言的重载运算符

performance - Seq.map 比常规 for 循环更快?

f# - 使用 FAKE (F# make) 执行 shell 命令 (grunt build)