我有这个问题(https://github.com/sbt/sbt/issues/562),基本上当我试图获得一个控制台时,它说:
[错误]无法构建终端; 回到unsupportedjava.lang.IllegalArgumentException:无效的终端类型:jline.UnixTerminal
你也不能使用退格键
你基本上不能在cygwin中使用sbt(在dos中很好,但是cygwin是一个更好的环境)并在那里表达了我的关注
我已经尝试了几种在网上找到的解决方法,但它们都是旧版本,现在没用
只是想知道你是否知道任何解决方法?
谢谢
有关Scala中变量的范围的确切处理是什么?
当我打开大括号时,我仍然可以访问外部变量的值(并在变量时修改它们):
scala> var mmm = 4
mmm: Int = 4
scala> {
| println(mmm)
| mmm += 2
| println(mmm)
| }
4
6
scala> println(mmm)
6
Run Code Online (Sandbox Code Playgroud)
但奥德斯基在第180页或他的书中说过
在Scala程序中,内部变量被称为遮蔽一个类似命名的外部变量,因为外部变量在内部范围内变得不可见.
这看起来更怪异:
scala> val a = 4
a: Int = 4
scala> {
| println(a)
| }
4
Run Code Online (Sandbox Code Playgroud)
那么我是否在内部范围内获得了它的副本?
scala> val a = 4
a: Int = 4
scala> {
| val a = 8
| }
Run Code Online (Sandbox Code Playgroud)
如果它不可变,我为什么还能再说val呢?
scala> val a = 4
a: Int = 4
scala> {
| println(a) …Run Code Online (Sandbox Code Playgroud)