の配列を次のコードで初期化します。配列A = B
の配列はありますか?f#:配列
let A = Array.init 3 (fun _ -> Array.init 2 (fun _ -> 0))
let defaultCreate n defaultValue = Array.init n (fun _ -> defaultValue)
let B = defaultCreate 3 (defaultCreate 2 0)
A and B
に値を割り当てると、それはどうなりますか?ありがとう。
for i = 0 to 2 do
for j = 0 to 1 do
A.[i].[j] <-i + j
B.[i].[j] <-i + j
printfn "%A vs %A" A B
A = [|[|0; 1|]; [|1; 2|]; [|2; 3|]|] and B = [|[|2; 3|]; [|2; 3|]; [|2; 3|]|]
'System.Int32'のような' ValueType'sは、必ずしも "スタックに格納される"わけではありません。 –
@Stephen - 真。ボックス化することも、参照型でラップすることもできます。しかし、それをスタックに格納することは、参照型とは別に設定します。 –
値*セマンティクス*は、参照型とは別に値型を設定するものです。それらが通常スタックに格納されるという事実は実装の詳細です。 – ildjarn