a + b
字符串插值有一些特殊规则不允许直接从样式转换,这让我抓狂:
// ok
def test(f: java.io.File) = {
val abs = f.getAbsoluteFile
val isF = abs.isFile
"select " + (if (isF) "file" else "folder") +"\"" + abs.getName +"\" of folder"
}
// fail
def test(f: java.io.File) = {
val abs = f.getAbsoluteFile
val isF = abs.isFile
s"select ${if (isF) "file" else "folder"} \"${abs.getName}\" of folder"
}
然后是一个可爱的错误信息:
<console>:38: error: value $ is not a member of String
s"select ${if (isF) "file" else "folder"} \"${abs.getName}\" of folder of the front window"
^
这里的 s-string 有什么问题?