
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で質問しましょう!
似たような質問が見つかりました
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- Excel(エクセル) 【EXCEL】=セル&セルが上手く表示できない。 7 2022/09/04 21:32
- Excel(エクセル) 【困っています】VBA 追加処理の記述を教えてください。 1 2022/08/25 22:54
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Java java 次の機能を有するメソッドを自クラスに作成し、実装したいです。 機能 名前判定機能 →名前が 3 2022/06/16 16:08
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
- その他(プログラミング・Web制作) Pythonで、データファイルと列名ファイルを1つのファイルにしたいです。 1 2023/07/27 20:29
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
連想配列について
-
二つの配列から連想配列を作る方法
-
フォームから値を配列に渡すと...
-
perlfaq4 で紹介されている Fis...
-
データの受け取り方
-
配列の各要素に結合
-
2次元配列or複数回のファイル読...
-
Perlで二次配列は可能?
-
配列の要素数について
-
マクロ Publicでの配列定義
-
エクセルVBAでTransposeの不思議
-
入力された日付けのチェック
-
クラスに配列を渡す方法
-
リストボックスに縦スクロール...
-
二次元配列のインデックスについて
-
Perl 文字列を配列に直す方法
-
「偶数・奇数の和」のフローチ...
-
DOSコマンドのループ内のTIMEコ...
-
ダブりを消す
-
二次元配列のつかいかた。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAのautofilter、criteriaの配...
-
クラスに配列を渡す方法
-
二次元配列のインデックスについて
-
文字の整列(printf)
-
Dim flag(4) as boolean で配列...
-
マクロ Publicでの配列定義
-
エクセルVBAでTransposeの不思議
-
複数の配列の全ての組み合わせ...
-
Excel VBA ユーザーフォームの...
-
リストボックスに縦スクロール...
-
バイナリデータの検索(VB.NET2008)
-
可変長配列を、動的確保した固...
-
Strawberry Perl for Windows ...
-
perlで配列の要素が空なのを知...
-
if文条件式で配列を使用したい
-
VBScript 配列
-
VBA 二次元配列の1つ目を増...
-
二次元配列における要素数のは...
-
配列の各要素に文字列結合
-
Powershell $変数 = @()の空配...
おすすめ情報