2
我試圖環繞使用函數文本強調我的頭,下面有我難住了:斯卡拉函數文本和非綁定佔位符參數
以下工作:
def g(s: Int => Int) = 1.to(10).map(s(_))
g(_ * 2)
但這種失敗:
import scala.xml.Node
def f(s: Int => Node) = 1.to(10).map(s(_))
f(<p>{_}</p>)
所報告的錯誤是:
Error:(11, 8) unbound placeholder parameter
f(<P>{_}</P>)
^
這是什麼解釋?
這似乎是任意的。下劃線不能用於其他類型嗎? – calvinkrishy 2014-09-19 16:19:26
在字符串插值中發生同樣的情況。我不確定,但解析器看起來有可能在花括號(或在字符串插值中的'$'後面)中尋找完整的表達式,並且'_'本身不是表達式。 – 2014-09-19 16:32:59
是的,我注意到了這個回答在String中討論佔位符:http://stackoverflow.com/a/16688830/53949 – calvinkrishy 2014-09-19 18:56:17