如果我在Linux中运行cowsay Scala!
,则输出
________
< Scala! >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
如果我尝试使用此String
val cow = """
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||"""
显示为
cow: String =
"
\ ^__^
\ (oo)\_______
(__)\ )\/\
|----w |
| ||"
我认为三重引号会正确地逃脱琴弦而不会打破牛腿。
如果我逃脱了腿上的第一个|
,那么空格是正确的,但它现在显示了转义字符。
cow: String =
"
\ ^__^
\ (oo)\_______
(__)\ )\/\
\||----w |
\|| ||"
那么,我该如何正确地逃避它,以便它显示为原始牛?
答案 0 :(得分:3)
这是REPL的工件。它假定您要剥离|
字符的边距。如果您在常规scala文件中尝试此操作,除非您在字符串上明确调用stripMargin
,否则不应该看到此问题。
要在REPL中修复它,只需在这些行的开头添加|
个字符,例如:
________
< Scala! >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
| ||----w |
| || ||