この記事は、Perl Advent Calendar 2024 10日目の記事(穴埋め)です。 9日目は@shogo82148で「Perl 5.41から、UTF-8で書かれたソースコードにはuse utf8が必須になります」でした。
以前、開発版のPerlで試した iterating over multiple values at a time 機能ですが、
Perl 5.40 から正式な機能として利用できるようになりました。
試してみた
この機能を使うと、ハッシュ(連想配列)の全要素に対して操作したい、ということが簡単にできます。 前回と同じコードを試してみましょう。
use v5.40;
my %hash = (
a => 'Alice',
b => 'Bob',
c => 'Charlie',
);
for my ($key, $value) (%hash) {
print "$key => $value\n";
}
警告が出力されずに問題なく実行できます。
a => Alice
b => Bob
c => Charlie
もちろん3つ以上同時に取得することもできます。
use v5.40;
my @cube = (
(0, 0, 0), (0, 0, 1),
(0, 1, 1), (0, 1, 0),
(1, 1, 0), (1, 1, 1),
(1, 0, 1), (1, 0, 0),
);
for my ($x, $y, $z) (@cube) {
print "$x, $y, $z\n";
}
出力は以下のようになります。
0, 0, 0
0, 0, 1
0, 1, 1
0, 1, 0
1, 1, 0
1, 1, 1
1, 0, 1
1, 0, 0
まとめ
Perl 5.40 からハッシュのキーとバリューのペアを取ってくるのが簡単になります。
🐇
新しい機能が安定し、
Perlの世界が広がる、
反復処理の楽しさ、
みんなで共有しよう、
Advent Calendarで待ってるよ!
🌟by CodeRabbit
明日11日目はTBDで「TBD」です。 お楽しみに!