0

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

0 回答 0