此Scala代码a)效果很好:
val f : Function[String, String] = { case "a" => "b"}
f.apply("a") //returns "b"
与b)相同
"a" match { case "a" => "b" } //returns "b"
1)b)中的匹配子句是a)的语法糖吗?
2)为什么这不起作用??
{ case "a" => "b"}.apply("b") //Does not compile
谢谢!
答案 0 :(得分:6)
数目:
没有。 a)是模式匹配的匿名函数(Scala语言规范的第8.5节),而b)是模式匹配的表达式(Scala语言规范的第8.4节)。它们略有不同。
这不起作用,因为它需要一个类型作为函数进行解析。您可以使用类型注释:
import numpy as np