F# 判別共用体に似ている、またはそのように機能する可能性のある何かを scala で見つけるために Web を見回しましたが、どこを見ても、少し似ているように見えるケースクラスを除いて、実際には何も見つかりません.. .しかし、それらはどのように正確に異なるのでしょうか?
例えば:
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)
上記のコードは基本的にケースクラスですか、それとも同じ機能を得るために別のことをしなければなりませんか?