0

問題を解決するsubsequence check には、2 つの異なる配列で 2 つの文字列入力を取り、配列インデックスでアクセスしようとしていますか?

Cでは、以下のようにしました..

char text[25000],pattern[25000];
scanf("%s %s",text,pattern);

そして、配列インデックスを介して各文字にアクセスできます。

どうすればperlで同じことができますか??

perl では、配列インデックスへのアクセスに固有のものは見つかりませんでした。私が得たのは、perlsplit関数を使用することだけです..

my @pattern = split(" ",<>);

これは、スペースに基づいて入力を分割し、配列インデックスに割り当てます。入力がcanada nad分割のような場合、 $pattern[0]$pattern[1]に割り当てcanadaられます。nad

しかし、私はそれらを2つの別々の配列に入れたいですか?

私は分割の別のユーザーを見つけました..

my @pattern = split(undef,<>);
foreach my $val (@pattern){
     print $val."\n";
}

これは文字列のすべての文字にアクセスできますが、問題はそれらを 2 つの異なる配列に割り当てることができないことです。

アイデア/提案を事前に感謝します。

なるほど、こういうのを探していたのですね..

my ($text,$pattern) = split(' ',<>);
my @textarr= split //,$text;
my @patterarr= split //,$pattern;
4

1 に答える 1

1

欲しいかは不明

# Two strings (which are scalars, not arrays)
my $text = "canada";
my $pattern = "nad";

また

# Two array of single-char strings
my @text_chars = ("c", "a", "n", "a", "d", "a");
my @pattern    = ("n", "a", "d");

前者を希望する場合は、

my ($text, $pattern) = split(' ', $line);

後者が必要な場合は、フォローアップしてください

my @text_chars    = split //, $text;
my @pattern_chars = split //, $pattern;

後者は、配列への参照を処理することを気にしない場合は、次を使用して実現することもできます。

my ($text_chars, $pattern_chars) = map [ split // ], split ' ', $line;

上記で$lineは、を使用して生成されます

chomp( my $line = <> );
于 2013-05-17T05:15:03.510 に答える