Tec*_*ast 1 arguments scala escaping character
我对 scala 很陌生。
编写了一个非常基本的 scala 脚本,如下所示。
args.foreach(a=>println(a))
Run Code Online (Sandbox Code Playgroud)
使用以下命令在命令提示符下执行上述操作
scala test1.scala Happy Scala Programming !!!
Run Code Online (Sandbox Code Playgroud)
我期望的输出是
Happy
Scala
Programming
!!!
Run Code Online (Sandbox Code Playgroud)
但我得到了以下内容
Happy
Scala
Programming
Run Code Online (Sandbox Code Playgroud)
当我们观察到“!!!”时 (缺少感叹号)。
需要了解为什么不打印感叹号字符以及打印这些字符的方法是什么。
我正在 Windows 7 命令提示符下执行脚本
您必须在每个感叹号之前使用^ ,并且还需要将整个参数放在双引号中。所以这会起作用:
scala test1.scala "Happy Scala Programming ^!^!^!"
Run Code Online (Sandbox Code Playgroud)
这是因为!是 Windows shell 的特殊字符。所以这个问题与 scala 本身无关,因为 scala 程序只接收快乐 Scala 编程作为程序参数,感叹号被 Windows shell 提示符消耗掉了。
请查看这些堆栈溢出答案以获得更深入的解释。