$new_str = q{"} . join(q{","}, @new_arr) . q{"};
例:
@new_arr = (0..5);
$new_str = q{"} . join(q{","}, @new_arr) . q{"};
print $new_str,"\n";
出力:
"0","1","2","3","4","5"
perl -MO=Deparse,-p ...
あなたの元のコードに問題があることを示しています
すなわち
$ perl -MO=Deparse,-p ternary.pl
(@a = (0..5));
foreach my($index) (0 .. $#a) {
print("$index .. $new_arr[$index]\n");
((($index == $#a) ? ($new_str .= qq[+"$a[$index]"]) : $new_str) .= qq["$a[$index]",]);
}
print("$new_str \n");
、三元式の.=
事業者が正しくグループ化されていないこと。あなたは適切に括弧を使用することによって、それを救うことができます:
($index == $#new_arr) ? ($new_str.= "+\"$new_arr[$index]\""):($new_str.= "\"$new_arr[$index]\"\,");
または$new_str .=
三式の各辺のうち
$new_str .= $index == $#new_arr ? "+\"$new_arr[$index]\"" : "\"$new_arr[$index]\"\,";
を引っ張っするが、最終的にこれはPerlの組み込みjoin
機能のために良いユースケースです。
出典
2016-08-15 21:46:34
mob
'$ perl -wE 'join("、 "$ _"}} 0 .. 5)' ' –