Scienceの記事に掲載されているツールを使用していますが、私はPerlに精通していないので、多くのトラブルを抱えています。
コードが含まれています
return $equa if /\@BOUNDARY/;
私はコードは、それがテキスト@BOUNDARY
が含まれている場合$equa
を返すことになっているが、それはそれをしないと信じています。提供されたコードに間違いがありますか?
私はそれを変更することを考えています:
if ($equa =~ /\@BOUNDARY/) {
return $equa;
}
これは、同じ機能を実行していますか?
は参考のため、元のコードでは、全体の機能は次のとおりです。
sub correctBoundaryReac {
my $equa = shift;
print $equa;
return $equa if /\@BOUNDARY/;
my($left, $arrow, $right) = ('', '', '');
if($equa =~ /^(<--|<==>|-->) (.+)/){
$arrow = $1;
$right = $2;
$left = $right;
$left =~ s/\@\S+/\@BOUNDARY/g;
}
elsif($equa =~ /(.+) (<--|<==>|-->)$/){
$left = $1;
$arrow = $2;
$right = $left;
$right =~ s/\@\S+/\@BOUNDARY/g;
}
else{
die "Don't know how to fix bounadry reaction: $equa\n";
}
return "$left $arrow $right";
}
'ますreturn $ equa場合/ \を使用することは完全に大丈夫です、その場合には、使用されている必要があることをapears $ _ =〜/ \ @ BOUNDARY /; '$ equaと$ _ – toolic
の2つの変数があります。'/$ pattern/'は、デフォルト変数' $ _'に現在保持されているものにマッチを適用します。だから、あなたが提供しているのは何ですか?たとえば、 'for(@arr)'には、配列要素を反復する際に '$ _'に配列要素があります。これは一例に過ぎず、 '$ _'はPerlで多く使われています。前のコードを見て、 '$ _'で何が保持されているのかを見てください。 – zdim
コードを変更すると、コードは機能しますか? – toolic