
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ランキング
-
2次元配列or複数回のファイル読...
-
VBAのautofilter、criteriaの配...
-
perl このテキストファイルを簡...
-
perlで2次元配列をサブルーチ...
-
N88互換BASICで「メッセージの...
-
VBA 二次元配列の1つ目を増...
-
マクロ Publicでの配列定義
-
Dim flag(4) as boolean で配列...
-
画面を強制的に再描画させる方法
-
CSVファイルの特定の行だけを読...
-
範囲指定したセルを1つずつ飛...
-
ハッシュ検索はなぜ速い
-
Escキーを押すと、中断する時と...
-
乱数の桁数指定、または範囲指定。
-
DoEventsが必要な理由について
-
フラグについて
-
UWSCの終了の仕方
-
VBAで3秒だけ時間を止めたい
-
列挙型と連想配列の違いを教え...
-
Can't use string ("0") as an ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
文字の整列(printf)
-
クラスに配列を渡す方法
-
Dim flag(4) as boolean で配列...
-
エクセルVBAでTransposeの不思議
-
二次元配列のインデックスについて
-
Excel VBA ユーザーフォームの...
-
Strawberry Perl for Windows ...
-
バイナリデータの操作
-
perlで配列の要素が空なのを知...
-
perlの配列追加について
-
perl 配列の要素数について
-
グループ分けの仕方について
-
最後のフィールドを抜き出したい。
-
リストボックスに縦スクロール...
-
チェックボックスのperlでの値...
-
二つの配列から連想配列を作る方法
-
変則的なスタック配列を使う
-
二次元配列における要素数のは...
-
配列を使わずに、数字(連番)...
おすすめ情報