答えて
既存の答えは正しいです。F#(中置演算子のみ)で中置関数を定義することはできません。そうでない場合、コンパイラは数値リテラル(等10.0f
)として10.m
を解釈しようとするため、.
の前にスペースが必要であること
// Define an extension member 'modulo' that
// can be called on any Int32 value
type System.Int32 with
member x.modulo n = x % n
// To use it, you can write something like this:
10 .modulo 3
注:別にパイプ事業者とトリックから、あなたはまた、延長部材を使用することができます。
F#は機能スタイルとオブジェクト指向スタイルの両方をサポートしているため、パイプライントリックを使用するよりも少しエレガントです。拡張スタイルメソッドは、ある意味では、機能スタイルから暗黙の演算子に近いです。パイプラインのトリックは、演算子のわずかな誤用のように見えます(最初は混乱するように見えるかもしれませんが、おそらくメソッド呼び出しよりも混乱するかもしれません)。
// Define custom operators to make the syntax prettier
let (</) a b = a |> b
let (/>) a b = a <| b
let modulo a b = a % b
// Then you can turn any function into infix using:
10 </modulo/> 3
しかし、たとえ:おそらく最も興味深いのバージョンでは、このいずれか(また、あなたがオペレータの前後にスペースを省略することができるという事実を利用している)である - 私は代わりにパイプラインの他の演算子を使っている人を見ている、と述べた
これはF#の世界で確立されたイディオムではないので、私はおそらく拡張メンバーを好みます。
わかりませんが、左右のパイプ演算子を使用できます。たとえば、
let modulo x y = x % y
let FourMod3 = 4 |> modulo <| 3
上記は「擬似挿入」と見なされます 何も間違っていて、間違っていませんそれは時々、この記法が好きです。 – BoomTownTech
- 1. Python、反復関数を書く方法
- 2. グラフィックスで中心極限定理を示す関数を書く方法
- 3. 複数のjquery関数を効率的に書く方法
- 4. '$()'の中にjavascript関数を置くのは何ですか?
- 5. バックトレースを印刷する独自の関数を書く方法
- 6. スタックへのポインタを返す関数を書く方法
- 7. JavaScript関数を書くためのより良い方法
- 8. カスタムS3クラスのc()関数を書く方法R
- 9. メモリ内でカスタム関数を書く方法HSQL
- 10. ネストされたジェネリック関数を書く方法
- 11. PHPで関数を書く方法(mysql_queryに似ています)
- 12. ラムダ関数としてサイクルを書く方法は?
- 13. 初期化関数を書く適切な方法
- 14. rails、ajaxリクエストの完了後にコールバック関数を書く方法
- 15. Haskellでprintf関数のファミリを書く方法(デバッグプリントなど)
- 16. php関数を書く
- 17. PHPで関数を書く
- 18. トランポリン関数を書く
- 19. 辞書を作成した関数の中から辞書を抜く(Python)
- 20. 関数の変数、変数名atrNameを正しく書き込む方法
- 21. 関数javascript/nodejsの中で関数を返す方法は?
- 22. Basicsのような中置関数を部分的に適用する方法+。
- 23. 仮想関数の配置方法は?
- 24. 私のファンシーボックスをいつも窓の中央に置く方法
- 25. UIViewControllerのnavigationBarの中心にイメージを置く方法は?
- 26. サブグラフをドットの上に中央に置く方法は?
- 27. ヘッダファイルに関数定義を置く
- 28. イメージに不透明度があり、divに関数を置く方法
- 29. dllの中にコールバック関数を置くことはできますか?
- 30. リスト内の文字列の位置を返す関数を書く(Cコード)
[このユーザーボイスの問題](http://visualstudio.uservoice.com/forums/121579-visual-studio/suggestions/2313479-provide-the-option-of-having-infix-notation-楽しんで)。 – Daniel
http://stackoverflow.com/questions/2210854/can-you-define-your-own-operators-in-f – ony