当我尝试在 raku 中修改矩阵时。我收到错误:
my @matrix = ^100 .rotor(10);
@matrix[1;*] = 1 xx 10
Cannot modify an immutable Int (10)
in block <unit> at <unknown file> line 1
@matrix[1;1] = 3
Cannot modify an immutable List ((10 11 12 13 14 15 1...)
in block <unit> at <unknown file> line 1
Run Code Online (Sandbox Code Playgroud)
为什么所有这些值都是不可变的值?
好吧,列表总是不可变的。您可以修改他们的容器,但不能修改他们自己。rotor创建列表,所以一旦它们被创建,你就不能修改它们。不知道你到底想在这里做什么,但是看看这里的错误,我会说你需要把那些不可变的列表变成可变Array的:
my @matrix = ^100 .rotor(10).map: *.Array;
@matrix[1;*] = 1 xx 10;
@matrix[1;1] = 3;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
98 次 |
| 最近记录: |