如何将Smalltalk中的两个字典与oneliner合并?

可能存在特定于方言的方式,或者可能存在通用方式。我有两本字典,让我们说:

a := {'a' -> 1} asDictionary.
b := {'b' -> 2} asDictionary.

现在我想c成为aand的联合b

回答

这取决于您是想要第三个对象还是更喜欢包含,例如b, into a

对于第一种情况

c := Dictionary new.
a keysAndValuesDo: [:k :v | c at: k put: v].
b keysAndValuesDo: [:k :v | c at: k put: v].

对于第二

b keysAndValuesDo: [:k :v | a at: k put: v].

另请注意,该操作不是可交换的,这意味着如果两个字典中出现相同的键,则在结果中存活的键是最后添加的键。


以上是如何将Smalltalk中的两个字典与oneliner合并?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>