1

int の genericArray があります

[indent=4]

init
    var a = new GenericArray of int
    for var i = 1 to 3 do a.add (i)
    say: Func of int = def (v)
        stdout.printf ("%d ", v)

    var end = a.length - 1

これらはすべて1 2 3を出力します

for var i = 0 to end do stdout.printf ("%d ", a[i])
for var i = 0 to end do stdout.printf ("%d ", a.data[i])
a.foreach (say)

しかし、この出力は1 0 2 ?

出力が1 2 3でない理由

for val in a.data do stdout.printf ("%d ", val)

データフィールドを設定した場合:

var a = new GenericArray of int
a.data = {1, 2, 3}

以下:1 2 3を出力します

for val in a.data do stdout.printf ("%d ", val)

すべて順調?

しかし、これらはすべて1 3 0を出力します

for var i = 0 to end do stdout.printf ("%d ", a[i])
for var i = 0 to end do stdout.printf ("%d ", a.data[i])
a.foreach (say)

なぜそれはとても奇妙に振る舞うのですか?

4

0 に答える 0