我正在使用SBT 0.10.0编译Java和Scala文件的组合.当我通过sbt run它运行程序时返回一个非零错误,但没有向我显示堆栈跟踪 - 它只是默默地失败了一下这个神秘的消息:
Nonzero exit code: 1
Run Code Online (Sandbox Code Playgroud)
如果我通过scala命令行运行程序,它会显示堆栈跟踪.
有什么方法可以让SBT打印出整个堆栈跟踪吗?
如果我有一个地图并希望通过迭代来构建一个字符串,有没有办法让最终字符串成为表达式的结果而不是定义一个变量并在循环中修改它?
而不是这个
val myMap = Map("1" -> "2", "3"->"4")
var s = ""
myMap foreach s += ...
Run Code Online (Sandbox Code Playgroud)
我宁愿它
var s = myMap something ...
Run Code Online (Sandbox Code Playgroud) 在scala中使用类字段的最佳方法是在类之外是只读的吗?我意识到我可以这样做:
private var myvalX = 0 // default val
def myval = myvalX
def myval_=(x: Int) { myvalX = x }
Run Code Online (Sandbox Code Playgroud)
但是我觉得它非常难看,因为_ =运算符以及你需要定义一个名称与方法不同的单独var.替代品将非常受欢迎.谢谢!