io REPL とスクリプトとして実行する場合 (つまりio matrix_clone_test.io
) で動作が異なるこのコードがあります。具体的には:
- REPL では、matrix1 と matrix2 は異なるオブジェクトを指します (異なる ID: Matrix_0x504b80、Matrix_0x42edd0)
- スクリプトを実行すると、matrix1 と matrix2 は同じオブジェクトを指します (同じ ID: Matrix_0x40f210、Matrix_0x40f210)。
どちらの場合も、 の結果として異なるオブジェクトが表示されることを期待していましたMatrix clone
。私は何が欠けていますか?
コードスニペット
Matrix := Object clone
matrix1 := Matrix clone
matrix2 := Matrix clone
matrix1 proto println
matrix2 proto println
コンソール出力
Io> Matrix := Object clone
==> Matrix_0x739da0:
type = "Matrix"
Io> matrix1 := Matrix clone
==> Matrix_0x504b80:
Io> matrix2 := Matrix clone
==> Matrix_0x42edd0:
[println code excluded for brevity]
スクリプトの実行
Matrix_0x40f210:
type = "Matrix"
Matrix_0x40f210:
type = "Matrix"