1

好的,这是我的场景:

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])

但是每次我想扩展我的列表时都这样做是一种拖累!我做错了什么还是这是一个很棒的功能?

理查德

4

1 回答 1

1

好问题!列表上的 + 是连接而不是插入,因此您可以键入以下内容以获得所需的效果:

g[1] += [2];
于 2013-05-01T19:17:37.487 回答