スカラーまたはベクトル(この場合DiffSharpのDタイプとDVタイプ)で動作する数値コードを記述しようとしています。時々、私が使用できるようにしたいのいずれかので、私は彼らのために差別組合を定義した: type IBroadcastable =
| Scalar of D
| Vect of DV
事業者の多くはすでにので、私はコードを追加記述IBroadcastabl
差別化された組合員の名前付きフィールドにアクセスするにはどうすればよいですか? 例:一般的に type Point = | Point of x : int * y : int
let p = Point(3, 1)
// how to access x-value or y-value of p here?
トーマスのユーザーsaid in the comment:私は(レコードの別名)「または」(別名組合を区別)の面で世界をモデリングと思う「と」 です非常に強力な機能のトリックです。時には、機能/インタフェースはあまりにも有用であるが、私は私がAnimal(オープンワールドの世界をモデル化しています:-) を仮定することができますできるだけ多くをする「または」/固執する傾向がある「と」場合差別化され
SOや他の場所でのアドバイスに続いて、次のような簡単な例のように、インターフェイスを使って多態性を実装しようとしました。 type IFace =
// abstract methods
abstract member foo: int -> int
type X(i: int) =
// some code
interface IFace with
私はTypeScriptを初めて使用しています。私は次のコードを持っています: type Circle = { kind: "circle" }
type Rectangle = { kind: "rectangle" }
type Triangle = { kind: "triangle" }
type Shape = Circle | Rectangle | Triangle
fun