2016-09-27 5 views
2

Julia v0.5 +では、1行にタイプ情報を持つ複数の変数を定義できますか?一つはJuliaの1行に複数の型付き変数があります

local x1 :: Float64, x2 :: Float64 = 0.01, 0.5 

invalid syntax in "local" declarationエラーで失敗し、(の変数は、いくつかの機能の範囲内にあると仮定しましょう)のようなので、型指定されていない変数を定義

x1, x2 = 0.01, 0.5 

が、型情報を付加することができます。間違ったことをやっているのですか、まったくサポートされていません。 TIA。

+0

なぜタイプ情報を追加したいのですか?それは何も追加せずに、コードが騒々しくて読みにくいものにします。 –

+0

ほとんどの場合、コードのパフォーマンスに影響を与える可能性のある要因を試すだけです。 –

+0

私の指摘は、これらの注釈はパフォーマンスに全く影響しないということです(注釈にリテラル値とは異なる型を入れない限り)。 –

答えて

3

localは、トップレベルのプレーン関数などのほとんどの状況では必要ありません。 localが必要とされている

julia> function f() 
      x1::Float64, x2::Float64 = 1, 5 
      x1, x2 
     end 
f (generic function with 1 method) 

julia> f() 
(1.0,5.0) 

(名前はそうでない場合は外側の関数にバインドされることになるところが、ある)、この構文は、私の知る限りでは動作しません。 #7314を参照してください。

+0

ありがとう、古い 'x :: T'型の宣言構文はv0.5.0から廃止されているようです:[#16071](https://github.com/JuliaLang/julia/issues/16071) –

+1

@ AretsPaeglis [非難されていない](https://github.com/JuliaLang/julia/pull/17445)。非難されたのは孤独な 'x :: T'ローカル(RHSなし)だけです。 –

+0

[This](https://github.com/JuliaLang/julia/issues/16071#issuecomment-215984705)のコメントはそうでないことを示唆していたようですが、いくつかの例を試してみたところ、あなたの意見が分かります。ありがとう。 –

関連する問題