2014-09-19 41 views
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>) 
^

這是什麼解釋?

回答

2

看來,你不能在XML文字中使用像這樣的佔位符。

+0

這似乎是任意的。下劃線不能用於其他類型嗎? – calvinkrishy 2014-09-19 16:19:26

+0

在字符串插值中發生同樣的情況。我不確定,但解析器看起來有可能在花括號(或在字符串插值中的'$'後面)中尋找完整的表達式,並且'_'本身不是表達式。 – 2014-09-19 16:32:59

+0

是的,我注意到了這個回答在String中討論佔位符:http://stackoverflow.com/a/16688830/53949 – calvinkrishy 2014-09-19 18:56:17