「レンジステップ」演算子(.. ..)をオーバーロードすることに興味がありますが、私の人生では使用方法を見つけることができませんそれ。ドキュメントでF#(.. ..)演算子の使用/オーバーロード
それは
// Usage:
start .. step .. finish
が、F#のシェルでエラーが発生しますことをしようと言う:
> let x = 1 .. 2 .. 7;;
let x = 1 .. 2 .. 7;;
----------^^
stdin(54,11): error FS0010: Unexpected symbol '..' in binding. Expected incomplete structured construct at or before this point or other token.
はしかし、 "明示的" それを呼び出すことは可能です:
> let x = (.. ..) 1 2 7;;
val x : seq<int>
を[1..2..7]
とのようなリスト/ seqの構築にのみこの演算子を使うことは可能ですか??
それは最速であり、他のすべてのものはより関連性の高い情報を追加しなかったからです。 '(.. ..)'は 'seq {...} '内にしか存在しないようです。 - スペックを読んでくれてありがとうございます;-) – uhrm