Julia 解决Uint64的0.4弃用问题

Julia 解决Uint64的0.4弃用问题,julia,deprecation-warning,Julia,Deprecation Warning,我想在Julia 0.4中创建Uint64s的二维数组。这在0.3中起作用: s = 128 a = zeros(Uint64, s, s)::Array{Uint64,2} 它继续编译,但给了我通知 WARNING: Base.Uint64 is deprecated, use UInt64 instead. 我不知道这个消息是什么意思。我试着用谷歌搜索错误信息,但没有发现任何有用的东西。什么是不会产生任何警告的等效代码行 s = 128 a = zeros(UInt64, s, s)::

我想在Julia 0.4中创建Uint64s的二维数组。这在0.3中起作用:

s = 128
a = zeros(Uint64, s, s)::Array{Uint64,2}
它继续编译,但给了我通知

WARNING: Base.Uint64 is deprecated, use UInt64 instead.
我不知道这个消息是什么意思。我试着用谷歌搜索错误信息,但没有发现任何有用的东西。什么是不会产生任何警告的等效代码行

s = 128
a = zeros(UInt64, s, s)::Array{UInt64,2}
小心首都


小心首都

道格的答案是正确的,只是你可以把它简化为

s = 128
a = zeros(UInt64, s, s)
您不需要类型注释
::数组{UInt64,2}
。定义a=0(UInt64,s,s)将创建一个知道其类型的变量

请注意,Julia错误消息告诉您必须执行的操作--将
Uint64
替换为
Uint64
。如果你能想出一个更好的方式来重新表述信息,使其更清晰,那么听到这些信息将是非常有用的

一般来说,在Julia中定义变量时,类型注释充其量是多余的——类型是从右侧的类型自动推断出来的,这将是分配给正在创建的变量的类型

类型注释在两种情况下使用: 1.在复合类型内定义变量类型的步骤
2.对于函数定义中的多分派,指定给定方法适用于哪些类型。

道格的回答是正确的,只是您可以将其简化为

s = 128
a = zeros(UInt64, s, s)
您不需要类型注释
::数组{UInt64,2}
。定义a=0(UInt64,s,s)将创建一个知道其类型的变量

请注意,Julia错误消息告诉您必须执行的操作--将
Uint64
替换为
Uint64
。如果你能想出一个更好的方式来重新表述信息,使其更清晰,那么听到这些信息将是非常有用的

一般来说,在Julia中定义变量时,类型注释充其量是多余的——类型是从右侧的类型自动推断出来的,这将是分配给正在创建的变量的类型

类型注释在两种情况下使用: 1.在复合类型内定义变量类型的步骤
2.对于函数定义中的多个分派,要指定给定方法适用于哪些类型。

您不需要类型批注(
::Array…
)您不需要类型批注(
::Array…
),感谢提供有关签名的信息。关于错误消息,它是正确的,只是大写字母很难识别!如果这两种类型(不带名称空间,小写)是相等的字符串,可以说“注意大小写”?谢谢您提供的签名信息。关于错误消息,它是正确的,只是大写字母很难识别!如果这两种类型(不带名称空间,小写)是相等的字符串,可以说“注意大小写”?