2

長くなってしまいましたが、くだらない質問で申し訳ありません...

現在の(作業中の)コードを考えると:

my @keywords = ( 'foo', 'bar', 'kan', 'moo', 'ban', 'noob' );    
my @good = grep { /oo/ } @keywords;
my @bad = grep { !/oo/ } @keywords;

my %data = (
  keywords => \@keywords,
  good => \@good,
  bad => \@bad
);

print Dumper(\%data);

宣言は、ハッシュが配列参照で終了することを確認するための単なる一時的な変数です。ハッシュ宣言でメソッドを単純に使用するために上記を統合する方法はありますか?

次のようなものにたどり着こうとしています(動作しないコード):

my @keywords = ( 'foo', 'bar', 'kan', 'moo', 'ban', 'noob' );    

my %data = (
  keywords => \@keywords,
  good => grep { /oo/ } @keywords,
  bad => grep { !/oo/ } @keywords
);

print Dumper(\%data);
4

1 に答える 1

8

はい、匿名配列refを使用するだけです:

my %data = (
  keywords => [@keywords],
  good => [grep { /oo/ } @keywords],
  bad => [grep { !/oo/ } @keywords],
);

print Dumper(\%data);
于 2012-08-30T04:14:19.920 に答える