感叹号(!)作为scala中的arg

时间:2017-03-16 16:08:15

标签: scala arguments escaping character

我对scala很新。

写了一个非常基本的scala脚本,如下所示。

args.foreach(a=>println(a))

使用以下

在命令提示符中执行上述操作
scala test1.scala Happy Scala Programming !!!

我期望的输出是

Happy
Scala
Programming
!!!

但是我得到了以下内容

Happy
Scala
Programming

正如我们观察到的那样“!!!” (感叹号缺失)。

需要了解为什么不打印感叹号以及打印这些字符的方法。

我正在Windows 7命令提示符

上执行脚本

1 个答案:

答案 0 :(得分:4)

你必须在每个感叹号之前使用 ^ ,并且还需要将整个参数放在双引号中。所以这将有效:

scala test1.scala "Happy Scala Programming ^!^!^!"

这是因为是Windows shell的特殊字符。所以这个问题与scala本身无关,因为scala程序只接收 Happy Scala Programming 作为程序参数,这些感叹词被windows shell提示消耗掉了。

请仔细阅读这些堆栈溢出答案以获得更深入的解释。

  1. https://stackoverflow.com/a/28892829/4046067
  2. https://stackoverflow.com/a/15322106/4046067