Scala卧式设置和日志



我的scala repl并未在某些书籍和论坛似乎建议的那样显示屏幕上的日志。我在Scala 2.12.1上。当我尝试以下语法

时,我的scala替补
scala> def sum(a:Int, b:Int) = a+ b
sum: (a: Int, b: Int)Int

应显示如下

scala> val fun2 = sum _
fun2: (Int, Int) => Int = <function2>

但如下:

scala> val fun2 = sum _
fun2: (Int, Int) => Int = $$Lambda$1623/2005055216@13bdf19

它没有显示诸如<function2>等的特征等。如何解决此问题?

我假设这是由于scala 2.12现在转换scala函数的方式。如果您想查看表达式的类型,请将:t预定到声明:

scala> :t val fun2 = sum _
(Int, Int) => Int

Scala 2.12类型检查器除了来自标准库中的functionn类型外,还接受函数字面作为任何单个抽象方法(SAM(类型的有效表达式。这可以改善使用Scala中为Java 8编写的库的经验。

scala> val runRunnable: Runnable = () => println("Run!")

runrunnable:runnable = $$ lambda $ 1073/754978432@7cf283e1

scala> runrunnable.run((运行!

相关内容

  • 没有找到相关文章

最新更新