Apache Zeppelin中的多个行字符串

时间:2017-08-09 02:38:54

标签: apache-zeppelin

我有一个非常长的字符串,必须分成多行。我怎样才能在齐柏林飞艇上做到这一点?

enter image description here

错误为error: missing argument list for method + in class String

以下是更完整的错误消息:

<console>:14: error: missing argument list for method + in class String
Unapplied methods are only converted to functions when a function type is expected.
You can make this conversion explicit by writing `$plus _` or `$plus(_)` instead of `$plus`.
         val q = "select count(distinct productId),count(distinct date),count(distinct instock_inStockPercent), count(distinct instock_totalOnHand)," +

2 个答案:

答案 0 :(得分:2)

在Scala中(使用Apache Zeppelin以及其他方式),您可以通过将它们括在括号中来编写覆盖多行的表达式:

val text = ("line 1"
      + "line 2")

答案 1 :(得分:1)

使用括号

正如Theus所说。一种方法是括号。

val text = ("line 1" + 
    "line 2")

实际上所有按语义划分的多行语句都可以包括在括号中。等。

(object.function1()
.function2())

使用"""

对于多行字符串。我们可以使用""",就像这样,

val s = """line 1
           line2
           line3"""

将包含line2line3之前的前导空格。如果我们不想拥有领先的空间。我们可以这样使用。

val s = """line 1
          |line2
          |line3""".stripMargin

或使用不同的条形字符

val s = """line 1
          $line2
          $line3""".stripMargin('$')