Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 使用包含引号的字符串编写代码的更具可读性的方法`_String_Scala - Fatal编程技术网

String 使用包含引号的字符串编写代码的更具可读性的方法`

String 使用包含引号的字符串编写代码的更具可读性的方法`,string,scala,String,Scala,我发现一些scala代码很难阅读: val names = List("aaa", "bbb", "ccc"); var result = names.mkString(""" ["""", """","""", """"] """) println(result) 您可以看到代码包含“看起来很难看。我正在为相同的代码寻找更好的解决方案 我们可以使用\“将其缩短: names.mkString(" [\"", "\",\"", "\"] ") 但它仍然不可读 如果scala支持用“包装的字符

我发现一些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
阶段中进行所有引用。