4

我在网上四处寻找在 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)

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

4

0 回答 0