Julia 为什么《圣经》5:2没有在茱莉亚身上犯错误?

Julia 为什么《圣经》5:2没有在茱莉亚身上犯错误?,julia,Julia,似乎我不应该在Julia中编写Dict(5:3)(没有返回错误)。或Dict(1:-1:3)。或者任何时候第一个数字大于第二个数字小于第三个数字。这是虫子吗?用UnitRange定义字典真的没有多大意义。还是我不明白Julia是如何解释的?Dict构造函数只是使用了通常被称为“duck-typing”的东西-它没有明确地查看传递的内容,只是尝试按照预期使用它: help?> Dict # ... Given a single iterable argument, constructs

似乎我不应该在Julia中编写
Dict(5:3)
(没有返回错误)。或
Dict(1:-1:3)
。或者任何时候第一个数字大于第二个数字小于第三个数字。这是虫子吗?用UnitRange定义字典真的没有多大意义。还是我不明白Julia是如何解释的?

Dict构造函数只是使用了通常被称为“duck-typing”的东西-它没有明确地查看传递的内容,只是尝试按照预期使用它:

help?> Dict
# ...
  Given a single iterable argument, constructs a Dict whose key-value pairs
  are taken from 2-tuples (key,value) generated by the argument.
您传递给它一个空的iterable,因此它构造了一个空字典

这个例子确实有点奇怪,因为我们知道的不仅仅是它是一个空的iterable。我们知道它是一个数组,我们知道具体的元素类型,我们知道如果它有任何元素,它肯定会出错。同时,它是一个空集合,我希望空集合能够创建空字典