String 使用包含引号的字符串编写代码的更具可读性的方法`
我发现一些scala代码很难阅读:String 使用包含引号的字符串编写代码的更具可读性的方法`,string,scala,String,Scala,我发现一些scala代码很难阅读: val names = List("aaa", "bbb", "ccc"); var result = names.mkString(""" ["""", """","""", """"] """) println(result) 您可以看到代码包含“看起来很难看。我正在为相同的代码寻找更好的解决方案 我们可以使用\“将其缩短: names.mkString(" [\"", "\",\"", "\"] ") 但它仍然不可读 如果scala支持用“包装的字符
val names = List("aaa", "bbb", "ccc");
var result = names.mkString(""" ["""", """","""", """"] """)
println(result)
您可以看到代码包含“
看起来很难看。我正在为相同的代码寻找更好的解决方案
我们可以使用\“
将其缩短:
names.mkString(" [\"", "\",\"", "\"] ")
但它仍然不可读
如果scala支持用“
包装的字符串,那么我们将有一个最佳解决方案:
names.mkString(' ["', '","', '"] ');
我正在寻找一些其他的解决方案来提高代码的可读性。多行引用证明很方便,但在某些情况下并不完全可读。考虑这个小的句法重排,
val LSEP = """ [""""
val SEP = """",""""
val RSEP = """"] """
val names = List("aaa", "bbb", "ccc")
var result = names.mkString(LSEP, SEP, RSEP)
println(result)
可能是用符号?它有一个名称方法。可读性不是很高,而且成本也很高,但我想有
names.mkString(“[”,“,”,“,”,“]”).replaceAll(“”,“\”)
…在这种情况下,文本中有空格,符号不适用,但xml文本是。可能隐式转换有助于删除样板文件(在保持导入范围有限的情况下)。虽然我可能会选择您的其中一个选项,但我发现第二个选项更易于读/写。此外,请记住,如果您的输入列表可能包含包含的字符串
,您需要正确地引用它们。如果是这样,您最好在单独的map
阶段中进行所有引用。