F#的歧视联盟与Scala的案例类有何不同?还是他们一样?

时间:2013-04-24 17:55:52

标签: scala f# case-class discriminated-union

我在网上环顾四周,发现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)

上面的代码基本上是一个案例类,还是我必须做一些不同的事情才能获得相同的功能?

0 个答案:

没有答案