Questions tagged «variadic-functions»

如果函数可以接受可变数量的参数,则它是可变参数。也就是说,其不确定性是固定的。缩写“ varargs”通常用于指代这些类型的函数。




3
方法签名中的Java“参数”?
在C#中,如果希望方法具有不确定数量的参数,则可以在方法签名中将最终参数设为a params,以使方法参数看起来像数组,但允许使用该方法的每个人传递尽可能多的该类型的参数如来电者所愿。 我相当确定Java支持类似的行为,但是我不知道如何做到这一点。

2
Java未检查:varargs参数的未检查通用数组创建
我已将Netbeans设置为在我的Java代码中显示未经检查的警告,但是我无法理解以下几行的错误: private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); 给出: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] 方法来源: /** * Returns a list of all possible combinations of the entered array of lists. * * …

1
Haskell printf如何工作?
Haskell的类型安全是第二首屈一指只依赖类型语言。但是Text.Printf有一些深层的魔力,似乎很打字。 > printf "%d\n" 3 3 > printf "%s %f %d" "foo" 3.3 3 foo 3.3 3 这背后的深层魔力是什么?Text.Printf.printf函数如何接受像这样的可变参数? Haskell中允许可变参数使用的一般技术是什么,它是如何工作的? (附带说明:使用此技术时,某些类型的安全性显然丢失了。) > :t printf "%d\n" "foo" printf "%d\n" "foo" :: (PrintfType ([Char] -> t)) => t



7
如何将可变数量的参数传递给printf / sprintf
我有一个类,其中包含一个“错误”函数,该函数将格式化某些文本。我想接受可变数量的参数,然后使用printf格式化它们。 例: class MyClass { public: void Error(const char* format, ...); }; Error方法应该接受参数,调用printf / sprintf对其进行格式化,然后对其进行处理。我不想自己写所有格式,因此尝试弄清楚如何使用现有格式很有意义。

6
如何将多个原始参数传递给AsyncTask?
有相关的问题,例如如何将2个参数传递给AsyncTask类?,但是我遇到了徒劳地尝试将多个基元作为参数传递给AsyncTask的困难,所以我想分享自己发现的内容。现有的问题和答案中没有体现出这种微妙之处,因此,我想帮助那些遇到与我相同的问题的人,并减轻他们的痛苦。 问题是这样的:我有多个原始参数(例如两个long),我想传递给要在后台执行的AsyncTask-如何完成?(我的回答...经过一段时间的努力...可以在下面找到。)

2
Python,可变长度位置参数后的默认关键字参数
我以为可以在Python 2的函数调用中在变长位置参数之后使用命名参数,但是SyntaxError在导入python类时得到了提示。例如,我正在使用以下“ get”方法编写: class Foo(object): def __init__(self): print "You have created a Foo." def get(self, *args, raw=False, vars=None): print len(args) print raw print vars 错误看起来像: def get(self, *args, raw=False, vars=None): ^ SyntaxError: invalid syntax 我希望能够以几种方式调用该方法: f = Foo() f.get(arg1, arg2) f.get(arg1, raw=True) f.get(arg1, arg2, raw=True, vars=something) 等等

2
如何将Scala数组传递给Scala vararg方法?
考虑下面的代码: private def test(some:String*){ } private def call () { val some = Array("asd", "zxc") test(some) } 它expect String, found Array[String]为什么打印?Scala varargs不是数组吗? 注意 我在Stack Overflow上发现了一些有关Scala变量变量的问题,但所有这些问题都与调用Java varargs方法或将Scala列表转换为数组有关。

5
如何创建多变量haskell函数?
我需要一个函数,该函数接受任意数量的参数(所有类型相同),对它们执行某些操作,然后返回结果。在我的具体情况下,参数列表是不可行的。 当我浏览haskell库时,我看到该函数printf(来自module Text.Printf)使用了类似的技巧。不幸的是,通过查看源代码我无法理解这种魔力。 有人可以解释如何实现这一目标,或者至少可以解释一些网页/论文/无论我能在哪里找到合适的描述吗? 动机: 我需要这个的原因确实很简单。对于学校(计算机科学班),我们需要编写一个模块,该模块能够“记录”数学表达式,将其表示为字符串(通过为自己的数据类型编写Num / Real / etc实例),然后执行各种操作就可以了。 此数据类型包含变量的特殊构造函数,可以用值或指定函数替换任何值。目标之一就是编写一个函数,该函数采用带有一些变量(成对的type (Char,Rational))的表达式,并计算表达式的结果。我们应该看看如何最好地表达功能的目标。(我的想法:该函数返回另一个函数,该函数接受与该函数中定义的var一样多的参数-似乎是不可能的)。

2
Varargs Java歧义调用
我对Java的varargs方法有些困惑: public static int sum(int ...a) { return 0; } public static double sum(double ...a) { return 0.0; } 当我尝试sum()不传递任何参数的情况下进行调用时,将int调用方法的版本。我不明白为什么;通常,编译器必须引发错误。 相比之下,当我尝试sum不带任何参数的情况下,以下代码会生成编译器错误: public static int sum(int ...a) { return 0; } public static boolean sum(boolean ...a) { return true; }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.