在地图中使用'_'进行字符串插值

时间:2015-03-22 05:24:22

标签: scala

我有List[String],我想引用每个元素。所以我想我可以做var.map(s"'$_'")。但这给了我插值字符串中的错误:标识符或预期的块。我究竟做错了什么?有没有办法在字符串插值中使用_

我目前正在做var.map("'" + _ + "'"),但这看起来有些冗长和令人困惑。

2 个答案:

答案 0 :(得分:9)

使这项工作的公关未合并,因为语法被认为过于激进,太令人不安。

然而,接受了模式上下文中相同语法的PR。

有一些讨论在:

https://github.com/scala/scala/pull/2793

我会使用这种语法至少几次。人们喜欢保存额外的箭头。人们也不喜欢不必要地发明标识符的负担。是的,就像x

答案 1 :(得分:6)

我愿意:

var.map(x => s"'$x'")

它显然不那么“冗长和混乱”,也可能不如var.map(s"'$_'")那么令人困惑。