
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
Perlはリストの処理の関数が
デフォルトだと少ないんですよねえ
ということで,こんな関数をでっちあげました.
zip
引数 二つの配列のリファレンス
返値 一つの配列のリファレンス
動作例
zip ([1,2,3], [a,b,c]) -> [[1,a],[2,b],[3,c]]
zip ([1,2,3,4], [a,b,c]) -> [[1,a],[2,b],[3,c]]
zip ([1,2,3], [a,b,c,d]) -> [[1,a],[2,b],[3,c]]
引数の配列リファレンスのうち,短いほうに合わせて
中身を``zip''します(ジッパーで閉めます).
#ぶっちゃけた話Haskell/Schemeあたりにある
#zipの劣化コピー(^^;
##配列が空であるかどうかの判定が気に入らない
use strict;
use warnings;
sub zip{
my $a = shift;
my $b = shift;
my @temparray;
unless ((scalar @{$a}) * (scalar @{$b}) == 0){
push @temparray, [shift @{$a}, shift @{$b}];
push @temparray, @{zip($a, $b)};
return \@temparray;
}else{
return [];
}
}
my @list;
foreach (<DATA>){
chomp;
push @list, [split /,\s*/];
}
foreach (@{zip($list[0],$list[1])}){
print $_->[0],"\n";
print $_->[1],"\n";
}
__DATA__
A1, A2, A3, A4
B1, B2, B3, B4
No.1
- 回答日時:
同じファイルを複数回読むのは、close してから再度 open すればできませんか?
一つ目の質問も二次元配列、というか配列の配列が使えます。
詳しくはこの辺をどうぞ
perllol - Perl で配列の配列を操作する
http://perldoc.jp/docs/perl/5.6.1/perllol.pod
処理した結果というのは、全部をひとつのファイルに吐き出すのですか?
それとも列ごとに別のファイルですか?
use strict;
use warnings;
use feature ':5.10';
my @data;
foreach my $line (<DATA>) {
chomp $line;
push @data, [split q{,}, $line];
}
foreach my $i (0 .. scalar @{$data[0]} - 1) {
foreach my $j (0 .. scalar @data - 1) {
say $data[$j][$i]
}
}
__END__
A1, A2, A3, A4
B1, B2, B3, B4
実行結果:
A1
B1
A2
B2
A3
B3
A4
B4
余計な空白等はまあ適当に。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA ユーザーフォームの...
-
VB6で配列の最大値を簡単に求め...
-
VBAでの一時停止と再開の方法
-
UWSCに制限時間を付けたいです
-
ダイアログのテキストにマウス...
-
VBAで3秒だけ時間を止めたい
-
UWSCの終了の仕方
-
画面を強制的に再描画させる方法
-
Providence PEC-02 接続方法
-
一意(ユニーク)かつ、ソート...
-
再帰関数のインライン展開
-
スレッド起動したフォームを正...
-
VBA for i=1 to lastrow
-
Delphi for文
-
WinAPI「MsgWaitForMultipleObj...
-
UWSCのスクリプトで行き詰って...
-
VB2010でCSVファイルの読み込み
-
Pro Tools の 波形を伸ばす方...
-
範囲指定したセルを1つずつ飛...
-
ループ内での条件処理
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
文字の整列(printf)
-
クラスに配列を渡す方法
-
Dim flag(4) as boolean で配列...
-
エクセルVBAでTransposeの不思議
-
二次元配列のインデックスについて
-
Excel VBA ユーザーフォームの...
-
Strawberry Perl for Windows ...
-
バイナリデータの操作
-
perlで配列の要素が空なのを知...
-
perlの配列追加について
-
perl 配列の要素数について
-
グループ分けの仕方について
-
最後のフィールドを抜き出したい。
-
リストボックスに縦スクロール...
-
チェックボックスのperlでの値...
-
二つの配列から連想配列を作る方法
-
変則的なスタック配列を使う
-
二次元配列における要素数のは...
-
配列を使わずに、数字(連番)...
おすすめ情報