1

Julia 0.4 で Uint64 の 2D 配列を作成したいと考えています。これは0.3で機能しました:

s = 128
a = zeros(Uint64, s, s)::Array{Uint64,2}

コンパイルは続行しますが、通知が表示されます

WARNING: Base.Uint64 is deprecated, use UInt64 instead.

このメッセージの意味がわかりません。エラーメッセージをグーグルで調べてみましたが、役立つものは見つかりませんでした。警告を生成しない同等のコード行は何ですか?

4

2 に答える 2

4

ダグの答えは正しいですが、単純化できることを除いて

s = 128
a = zeros(UInt64, s, s)

型注釈は必要ありません::Array{UInt64,2}。定義a = zeros(UInt64, s, s)すると、その型を知っている変数が作成されます。

Julia のエラー メッセージは、何をしなければならないかを示していたことに注意してください -- で置き換えUint64UInt64ください。メッセージをより明確に言い換えるより良い方法を考えることができれば、それを聞くのは有益です.

一般に、Julia で変数を定義する場合、型注釈はせいぜい冗長です。型は右側の型から自動的に推測され、これが作成される変数に割り当てられる型になります。

型注釈は Julia で 2 つの状況で使用されます: 1.複合型内の変数の型を定義する ため 2. 関数定義での複数のディスパッチのために、特定のメソッドが適用される型を指定するため。

于 2016-03-08T23:32:34.080 に答える
4
s = 128
a = zeros(UInt64, s, s)::Array{UInt64,2}

大文字に気をつけろ!

于 2016-03-08T20:07:44.113 に答える