请问这个数组哪里错了?

董杰 2019-9-29 761

dim a = ""
dim b = ""
= [2,2,3]
= b
TracePrint (a)
TracePrint (b)
b[0= 1
TracePrint (a)
TracePrint (b)


==========

[22:05:00]uibot37c4ed55e827e4.task 第5行:[ 2, 2, 3 ]

[22:05:00]uibot37c4ed55e827e4.task 第6行:[ 2, 2, 3 ]

[22:05:00]uibot37c4ed55e827e4.task 第8行:[ 1, 2, 3 ]

[22:05:00]uibot37c4ed55e827e4.task 第9行:[ 1, 2, 3 ]

=========

为何第8行输出不应该是 2,2,3?


最新回复 (4)
  • 刘吕 2019-9-29
    2
    这里是个bug吧,不能这样全局生效吧。
  • 董杰 2019-9-29
    3
    dim a,b
    b = [2,2,3]
    a = b 
    TracePrint (a)
    TracePrint (b)
    a[0] = 5
    a[1] = 6
    b[0] = 1
    TracePrint (a)
    TracePrint (b)
    ===============
    [23:37:56]uibot37c4ed55e827e4.task 第4行:[ 2, 2, 3 ]
    [23:37:56]uibot37c4ed55e827e4.task 第5行:[ 2, 2, 3 ]
    [23:37:56]uibot37c4ed55e827e4.task 第9行:[ 1, 6, 3 ]
    [23:37:56]uibot37c4ed55e827e4.task 第10行:[ 1, 6, 3 ]
    =======
    为何会全局生效???????
  • 子木 2019-9-30
    4
    赋值为列表或者字典,比如

    a=b=c=[1,2,3]

    则a、b、c都是指向列表的指针,而不是复制,改变一个,其它的也会改变。 
    比如令 a[1] = 4, 则 b=[1,4,3]
  • 99365 2019-9-30
    5
    可以用浅拷贝来解决
返回
发新帖