私は最近、julia 0.4.5から0.5.0に移動し、新しい問題が発生しました。これがバグか、ここで何らかの理解が不足している場合は理解してください。文字列の配列を転置するときの警告
行(文字列の1D配列)を特定の回数繰り返して、そのためにrepmat
関数を使用して配列を作成したいとします。行は、関数への入力として与えられる前に、ファイル(readdlm
)から多くの他のものと共に読み込まれます。この関数では、行は最初はベクトルとして扱われます。 repmat
の場合、これを2次元配列にするには、以下の例のように転置する必要があります。しかし
myRow=["1","2","3"]
myRow=myRow'
myArray=repmat(myRow',3)
、私は警告を受ける上で私は2番目の行を実行する場合:
WARNING: the no-op `transpose` fallback is deprecated, and no more specific `transpose` method for String exists. Consider `permutedims(x, [2, 1])` or writing a specific `transpose(x::String)` method if appropriate.
移調はまだ私のコードはまだ動作しますので、実行されますが、私は私を与えるコードを使用して快適ではありませんよさ非難の警告。
上記のエラーメッセージは、String
を転記しようとした場合とまったく同じです。文字列の配列を転記しようとすると、エラーメッセージが誤ってトリガーされている可能性があります。私が他のクラスの配列を転置すると、例えば。整数、私は警告をトリガーしません。
誰でも説明がありますか?
解決策は 'reshape(myRow、1、length(myRow)) 'です。残念ながら、ヘルプメッセージはまだ更新されていません(https://github.com/JuliaLang/julia/issues/18320)。 –
@Isaiah回答として投稿することをおすすめします。 –