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

标签 collections smalltalk

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

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/

相关文章:

java - 为什么我的 `unmodifiableList` 是可修改的?

java - 使用 Collections Java 查找唯一、重复的单词

selector - Smalltalk 委托(delegate)/存储消息选择器

java - 如何在 java 中以相同的顺序打乱两个数组

c# - 为什么 Pair 和 Triplet 类是 System.Web.UI(我可以在控制台应用程序中使用它们)吗?

javascript - meteor : filter a publication on a nested property

compression - 如何在 Squeak Smalltalk 中压缩目录?

smalltalk - 在不创建 session 的情况下提供海边页面/组件

smalltalk - 如何在计算机之间传输 Smalltalk 文件?

smalltalk - 撤消 Squeak Smalltalk 中方法的删除