我如何讨论String.format函数以将其与数组上的映射一起使用?

Mic*_*lon 2 scala

我有一个字符串数组,我需要把它们变成带引号的字符串.显然我可以迭代数组并使用类似的东西"\"%s\"".format(elem)替换每个元素,但考虑到我的下一步将是arr.mkString("(", "OR", ")")

我试着按如下方式调整String.format:

val curried = "\"%s\"".format(_)
arr.map(curried)
Run Code Online (Sandbox Code Playgroud)

但这不起作用并抱怨:

 found   : (Any*) => String
 required: (java.lang.String) => ?
Run Code Online (Sandbox Code Playgroud)

如何在字符串数组上映射String.format之类的函数?还有另一种方式来讨论它或者我应该指定类型吗?

ten*_*shi 8

您需要帮助编译一点,并指定所需的类型(至少它是您的问题的可能解决方案之一):

val curried = "\"%s\"".format(_: String) 
Run Code Online (Sandbox Code Playgroud)

否则编译器会产生Seq[Any] => String函数,因为format方法有varargs.