1

基本的な例は、配列があり、['abc','cde','efg']それを 2 つの配列に分割したい場合です。a を含む要素を持つcものと、残りの要素を持つもの。

ルビーでは、次のように言います。

has_c, no_c = arr.partition { |a| a.include?('c') }

単純な perl に相当するものはありますか?

4

2 に答える 2

2

私は三項演算子でいくつかのことを試しましたが、これはうまくいくようです:

#!/usr/bin/perl
use warnings;
use strict;

my @a = qw[abc cde efg];
my (@has_c, @no_c);
push @{ \(/c/ ? @has_c : @no_c) }, $_ for @a;

print "c: @has_c\nno: @no_c\n";

更新:簡略化。

于 2013-03-08T16:49:21.583 に答える