在Scala中正确显示Cowsay

时间:2017-04-06 22:53:02

标签: linux scala

如果我在Linux中运行cowsay Scala!,则输出

 ________
< Scala! >
 --------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

如果我尝试使用此String

在Scala中显示没有文本气泡的母牛
val cow = """
       \   ^__^
        \  (oo)\_______
           (__)\       )\/\
               ||----w |
               ||     ||"""

显示为

cow: String =
"
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
|----w |
|     ||"

我认为三重引号会正确地逃脱琴弦而不会打破牛腿。

如果我逃脱了腿上的第一个|,那么空格是正确的,但它现在显示了转义字符。

cow: String =
"
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                \||----w |
                \||     ||"

那么,我该如何正确地逃避它,以便它显示为原始牛?

1 个答案:

答案 0 :(得分:3)

这是REPL的工件。它假定您要剥离|字符的边距。如果您在常规scala文件中尝试此操作,除非您在字符串上明确调用stripMargin,否则不应该看到此问题。

要在REPL中修复它,只需在这些行的开头添加|个字符,例如:

 ________
< Scala! >
 --------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
|               ||----w |
|               ||     ||