[解決済み] Perlで配列を比較するにはどうしたらいいですか?
2022-02-08 08:04:47
質問
2つの配列があります。
@a
と
@b
. 2つの配列の要素を比較したい。
my @a = qw"abc def efg ghy klm ghn";
my @b = qw"def ghy jgk lom com klm";
一致する要素があれば、フラグを設定する。これを行うための簡単な方法はありますか?
どのように解決するのですか?
まず、2つの配列が正しく記述されている必要があります。
@a = ("abc","def","efg","ghy","klm","ghn");
@b = ("def","efg","ghy","klm","ghn","klm");
次に、任意の配列(例えば、要素が他のデータ構造への参照である可能性がある配列)に対しては、以下のように使用することができます。
Data::Compare
.
要素がスカラーである配列の場合、比較を行うには
List::MoreUtils
pairwise BLOCK ARRAY1 ARRAY2
ここで、BLOCKは比較のサブルーチンです。をエミュレートすることができます。
pairwise
(List::MoreUtilsにアクセスできない場合) 経由で。
if (@a != @b) {
$equals = 0;
} else {
$equals = 1;
foreach (my $i = 0; $i < @a; $i++) {
# Ideally, check for undef/value comparison here as well
if ($a[$i] != $b[$i]) { # use "ne" if elements are strings, not numbers
# Or you can use generic sub comparing 2 values
$equals = 0;
last;
}
}
}
追伸:よくわからないのですが リスト::比較 は常にリストをソートすることができます。二者択一の比較ができるかどうかはわかりません。
関連
-
Perlシェルコマンド呼び出しのメソッド概要
-
Perlの特殊な組み込み変数の詳細
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み] JavaScriptで配列を比較する方法は?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
-
[解決済み] SetをArrayに変換するには?
-
[解決済み] PHPの配列が連想配列か順次配列かを確認する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン