根据参数动态创建String



我正在用Scala参数化一个查询。

我有一个列名为colNames的字符串数组。

我想创建一个字符串,其中字符串的每个名称的输出是A.colName = B.colName,然后将数组中的所有项目连接在一起,并加上"one_answers";每项之间的字符串。

输入

示例
val colNames = Array("colName1","colName2")
val table1 = "A"
val table2 = "B"

期望输出的示例

"A.colName1 = B.colName1 AND A.colName2 = B.colName2"

在非FP语言中我会使用for循环,但我不知道如何在Scala中以函数式的方式做到这一点。

您可以在Array上使用mapmkString方法:

scala> colNames map { colName => s"${table1}.${colName} = ${table2}.${colName}" } mkString " AND "
val res0: String = A.colName1 = B.colName1 AND A.colName2 = B.colName2

最新更新