F# では**
べき乗に演算子が使用されていることがわかり2 ** 5 = 32
ます。これは、カスタム型で '^' 演算子を使用するオプションがある C# とは異なりますが、何らかの理由で組み込みの数値型では使用されません。
しかし、F# プロジェクトで使用するために C# で ** 演算子を実装するにはどうすればよいでしょうか?
C# でこれを行う場合:
public static Integer operator ^(Integer left, Integer right)
{
if (Integer.IsNaN(left) || Integer.IsNaN(right)) return NaN;
return left.RaiseToPower(right);
}
これは正常にコンパイルされ、'+' 演算子と同じように使用できますが、F# ではどちらも機能しません。
let intgr3 = intgr1 ** intgr2
let intgr3 = intgr1 ^ intgr2
C# では、これは機能しません。
public static Integer operator **(Integer left, Integer right)
{
if (Integer.IsNaN(left) || Integer.IsNaN(right)) return NaN;
return left.RaiseToPower(right);
}
**
では、C# の演算子に相当する F# を定義するにはどうすればよいでしょうか?
ありがとう。