F#では、クラスを定義せずに制限付きの型を表すことはできますか? 最初の分割数を2番目の分割数のすべての対として表現したいとします。私は何ができるC#でクラスを使用しない制限された型の表現
:
class PairDivides
{
int a {get;private set;}
int b {get;private set;}
PairDivides(int first, int second)
{
if (a % b != 0)
{
throw new Exception();
}
this.a = first;
this.b = second;
}
}
は、今ではb
がa
を分割しないPairDivides
インスタンスを作成することは不可能です...これだけの機能構築物を用いてF#で
を行うことができます(記録、差別化された組合、おそらくアクティブなパターンなど)?
私は、これらのペアが正しく構築されていることを確認して、何かを受信したいと思っています。
は静的メンバ –
またはそのような何かを追加することができint型。 b:int} try create a b = if a%b = 0ならば{a = a; b = b} |>他の何もなしhttps://dotnetfiddle.net/veMXnx –
確かに...壊れたペアを作成することは不可能でなければなりません。 –