gpt4 book ai didi

julia - 为什么 Dict(5 :2) not throw an error in Julia?

转载 作者:行者123 更新时间:2023-12-01 12:13:47 32 4
gpt4 key购买 nike

看来我不应该在 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.

您向它传递了一个空的可迭代对象,因此它构造了一个空字典。

这种情况确实有点奇怪,因为我们知道的不仅仅是它是一个空的可迭代对象这一事实。我们知道它是一个数组,我们知 Prop 体的元素类型,我们知道如果它有任何元素,它肯定会出错。同时它是一个空集合,我希望空集合会创建空字典。

关于julia - 为什么 Dict(5 :2) not throw an error in Julia?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49783679/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com