2012年2月19日日曜日

Perlの 'x' オペレータ(repetition operator)

たとえば Ruby や Python で "4444" という文字列を出力したいときは、'*'演算子を使って次のように書く。

$ ruby -e 'p "4" * 4'
"4444"
$ python -c 'print "4" * 4'
4444

一方、Perlの場合は'x'演算子(アルファベットのx)を使う。

$ perl -e 'print "4" x 4, "\n"'
4444

さらに、リストコンテキストで使った場合はリスト内の要素を複製できる。

perl -e '@a = (1, 2) x 4; print join (":", @a), "\n"'
1:2:1:2:1:2:1:2

ちなみに、この演算子は"perldoc perlop"によると"repetition operator"と呼ばれている。

0 件のコメント:

コメントを投稿