Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala未绑定占位符参数_Scala_Scala 2.10_String Interpolation - Fatal编程技术网

Scala未绑定占位符参数

Scala未绑定占位符参数,scala,scala-2.10,string-interpolation,Scala,Scala 2.10,String Interpolation,我使用以下代码来满足我的需要: (1 to 5)..map(i => s"\\x${i}") // Produces List("\\x1", "\\x2", "\\x3", "\\x4", "\\x5") 但是我想用一个占位符。根据: 应扩展到: (1 to 5).map(StringContext("\\\\x","").s(_)) 但是后者有效,而不是前者,后者会在\uuu上抛出一个错误:unbound placeholder参数。为什么?我相信语法: (1 to 5).ma

我使用以下代码来满足我的需要:

 (1 to 5)..map(i => s"\\x${i}")  // Produces List("\\x1", "\\x2", "\\x3", "\\x4", "\\x5")
但是我想用一个占位符。根据:

应扩展到:

(1 to 5).map(StringContext("\\\\x","").s(_))

但是后者有效,而不是前者,后者会在
\uuu
上抛出一个
错误:unbound placeholder参数。为什么?

我相信语法:

(1 to 5).map(s"\\x${_}")
编译器认为u属于
s
函数,在这种情况下它将无法工作。您可以通过以下方式轻松解决此问题:

(1 to 5).map(i => s"\\x${i}")
您可能想了解一下这一点,以进一步明确与匿名函数相关的占位符规则

编辑:
根据这篇文章,占位符语法过去是有效的,所以这可能是一个回归错误,或者是一个从未打算以这种方式工作的功能:

我添加了我在问题中直接使用的解决方案。如果可能的话,我想要的不仅仅是信仰
s
不是函数,它是scala功能。@MikaëlMayer哦,不,它不是语言功能。它在这里定义:您还可以使用原始的“”、f“”,甚至可以创建自己的字符串插值器(json“”、sql“”…)
(1 to 5).map(i => s"\\x${i}")