在实现一个简单应用程序时,我遇到了尝试更新嵌套记录的问题。我在网上找到了一种解决方案,但看起来代码很臃肿。
当我寻找替代方案时,我发现了字典。这似乎是解决这个问题的一种方法--如果我在记录内部使用字典,就可以避免所有那些臃肿的代码并获得嵌套的更新。
看到字典和记录并排放在一起让我想到,为什么我要使用记录而不是字典,或者反之呢?它们对我来说非常相似,所以我不确定我是否看到了其中一个的优势。当然,我可以看到语法上的区别,但只有这些吗?
我在某个地方学到过Dict的访问时间复杂度是O(log(n))--它在键上进行二分查找吗?--但我找不到记录的访问时间复杂度,但我想知道它是否是O(1),这是其中一个优点。
无论如何,它们在其他语言中似乎都映射到1个单一的数据结构(例如Python的字典、JS对象、Java哈希表),为什么我们在elm中需要两个呢?
当我寻找替代方案时,我发现了字典。这似乎是解决这个问题的一种方法--如果我在记录内部使用字典,就可以避免所有那些臃肿的代码并获得嵌套的更新。
看到字典和记录并排放在一起让我想到,为什么我要使用记录而不是字典,或者反之呢?它们对我来说非常相似,所以我不确定我是否看到了其中一个的优势。当然,我可以看到语法上的区别,但只有这些吗?
我在某个地方学到过Dict的访问时间复杂度是O(log(n))--它在键上进行二分查找吗?--但我找不到记录的访问时间复杂度,但我想知道它是否是O(1),这是其中一个优点。
无论如何,它们在其他语言中似乎都映射到1个单一的数据结构(例如Python的字典、JS对象、Java哈希表),为什么我们在elm中需要两个呢?