我有这段代码在 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"