2
いくつかのSQLストアドプロシージャをin/outパラメータでラッピングしています。もちろんこれは、私のパラメータを参照として宣言し、変数を使用するような醜いことをしなければならないことを意味します。F#:パラメータでByRefセマンティクスを宣言して使用するにはどうすればよいですか?
私はこれをF#でどうやって行いますか?
いくつかのSQLストアドプロシージャをin/outパラメータでラッピングしています。もちろんこれは、私のパラメータを参照として宣言し、変数を使用するような醜いことをしなければならないことを意味します。F#:パラメータでByRefセマンティクスを宣言して使用するにはどうすればよいですか?
私はこれをF#でどうやって行いますか?
F#は確かにbyref
parameterです。ここでは、MSDNのページからの例です:
type Incrementor(z) =
member this.Increment(i : int byref) =
i <- i + z
変更可能な変数も存在する(同じ目的の多くのために使用することができるこれらのいずれかref
とmutable
変数を使用して、重要な違いがありますが)。この件に関するMSDN pageは非常に有益であり、どのキーワード/構成をいつ使用するかについての議論も含まれています。参照変数の
例:可変変数の
// Declare a reference.
let refVar = ref 6
// Change the value referred to by the reference.
refVar := 50
例:あなたが見ることができるように
// Declare a reference.
let mutable refVar = 6
// Change the value referred to by the reference.
refVar <- 50
、割り当ての構文(ならびに検索)も、2つの構築物間で異なります。