PDL の入力関数がよくわかりません。個人的には、Web のさまざまな場所で推奨されているように、rcols 機能を使用して pdls を作成しています。
次のような入力ファイルがあります。
3 -4 -1
0 5 2
3 5 6
2 5 2
5 5 5
5 5 6
これを Piddle に割り当てたいと思います。みたいにピドルに当てはめると、
my @pdls = rcols $in_fh, { COLSEP => "\\s" } ;
my $pdl = pdl(@pdls[1 .. $#pdls]);
@pdls を印刷すると、次のように印刷されます。
[
[ 3 0 3 2 5 5]
[-4 5 5 5 5 5]
[-1 2 6 2 5 6]
]
これにより、行ではなく列ごとにファイルがプルされたと思いました。これは、コードを見ると理にかなっています。この出力をファイルに保存すると (すべての括弧を取り除いた後)、これがどのように見えるかです。:
3 0 3 2 5 5
-4 5 5 5 5 5
-1 2 6 2 5 6
新しい入力ファイルで同じスクリプトを実行すると、結果は以前と同じプロセスに従いません。
[
[ 0 -4 -1]
[ 3 0 0]
[ 0 5 2]
[ 0 0 0]
[ 0 5 6]
[ 3 0 0]
[ 0 5 2]
[ 2 0 0]
[ 0 5 5]
[ 5 0 0]
[ 0 5 6]
[ 5 0 0]
]
そして、なぜそうしているのか、私にはわかりません。要するに、テキスト ファイルを piddle に読み込めるようにしたいのです。私が欠けているものを見たり、説明を提供したりできる人はいますか?
助けてくれてありがとう。