好的,这是我的场景:
rascal>map[int, list[int]] g = ();
rascal>g += (1:[2]);
这将导致:
rascal>g[1];
list[int]: [2]
到目前为止一切顺利,但现在我想这样做,但没有奏效:
rascal>g[1] += 3;
|stdin:///|(2,1,<1,2>,<1,3>): insert into collection not supported on value and int
所以我不能直接使用 g[1] 的值,必须使用这样的临时变量:
rascal>lst = g[1];
rascal>lst += 3;
rascal>g[1] = lst;
map[int, list[int]]: (1:[2,3])
但是每次我想扩展我的列表时都这样做是一种拖累!我做错了什么还是这是一个很棒的功能?
理查德