我在网上环顾四周,发现scala里的东西可能像F#区别的联盟一样,但是无论我在哪里,我都找不到任何东西,除了类似于它的案例类稍微......但他们究竟有何不同?
例如:
type Shape =
| Circle of double
| Square of double
let area =
function
| Circle radius -> 3.1415 * radius * radius
| Square length -> length * length
let circle = Circle(15.0)
printfn "The circle's area is %A" (area circle)
上面的代码基本上是一个案例类,还是我必须做一些不同的事情才能获得相同的功能?