可能存在特定于方言的方式,或者可能存在通用方式。我有两本字典,让我们说:
a := {'a' -> 1} asDictionary.
b := {'b' -> 2} asDictionary.
现在我想得到 c
作为 a
的联合和 b
.
最佳答案
这取决于您是想要第三个对象还是更喜欢包含,例如 b
, 进入 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].
另请注意,该操作不是可交换的,这意味着如果两个字典中出现相同的键,则在结果中存活的键是最后添加的键。
关于collections - 如何将 Smalltalk 中的两个字典与 oneliner 合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65598184/