scala – 字符串插值转义引用PITA
发布时间:2020-12-16 19:17:31 所属栏目:安全 来源:网络整理
导读:它让我发疯,字符串插值有一些特殊的规则,不允许从b风格直接转换: // okdef test(f: java.io.File) = { val abs = f.getAbsoluteFile val isF = abs.isFile "select " + (if (isF) "file" else "folder") +""" + abs.getName +"" of folder"}// faildef te
它让我发疯,字符串插值有一些特殊的规则,不允许从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有什么问题? 解决方法
问题是,您不能将未转义的引号留在单引号字符串中,就像在文件和文件夹中放置引号一样.尝试使用三引号字符串,它允许在其中使用未转义的引号(它仅以引号的第二个三元组终止):
s"""select ${if (isF) "file" else "folder"} "${abs.getName}" of folder""" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |