0
%group = ( 'forest', 'tree', 'crowd', 'person', 'fleet', 'ship' );

while ( ( $key, $value ) = each(%group) ) {
    print "A $value is part of a $key.\n";
}

これがコードで、出力はこれです

A person is part of a crowd.
A tree is part of a forest.
A ship is part of a fleet.

配列で指定した順序に従って出力が得られないのはなぜですか?

4

1 に答える 1

2

配列はありませんが、ハッシュがあります。ハッシュは順不同です。データに順序を課したい場合は、配列を使用してください。

#!/usr/bin/perl

use strict;
use warnings;
use 5.010;

my @groups = (
  [ 'forest','tree' ],
  [ 'crowd','person' ],
  [ 'fleet','ship' ],
);

foreach my $group (@groups) {
   say "A $group->[1] is part of a $group->[0].";
}
于 2014-10-06T09:50:56.193 に答える