Boo に変換する古い C# ライブラリがあり、演算子のオーバーロードを使用しています。その理由に触れないようにするために、Booで同じことを行う方法を探しています。
これは次の形式を取ります。
public static bool operator <(Duration duration, TimeSpan timespan) {...}
しかし、Boo は別の形式の演算子のオーバーロードを使用しており、'operator' キーワードはありません。
public static def op_LessThan(duration as Duration, timespan as TimeSpan) as bool:
pass
( http://boo.codehaus.org/Operator+overloadingより)
次の二項演算子はオーバーロードできます。
- op_追加
- op_減算
- op_Multiply
- op_Division
- op_モジュラス
- op_べき乗
- op_Equality
- op_LessThan
- op_LessThanOrEqual
- op_GreaterThan
- op_GreaterThanOrEqual
- op_Match
- op_NotMatch
- op_Member
- op_NotMember
- op_BitwiseOr
- op_BitwiseAnd
しかし、そのリストには op_NotEqual(!=) のようなものはありません。これらのメソッドは上記の C# コードと同等ですか? もしそうなら、何に相当するでしょうか
public static bool operator !=(Duration duration, TimeSpan timespan) {...}