同じ配列(リスト)を繰り返して連結するには(乗算みたいな) (x / *)

Python ["a", "bb", "ccc"] * 3
Ruby ["a", "bb", "ccc"] * 3
Perl ("a", "bb", "ccc") x 3

Python

print(["a", "bb", "ccc"] * 3)
# => ['a', 'bb', 'ccc', 'a', 'bb', 'ccc', 'a', 'bb', 'ccc']

print([1, 2, 3] * 3)
# => [1, 2, 3, 1, 2, 3, 1, 2, 3]

print((1, 2, 3) * 3)
# => (1, 2, 3, 1, 2, 3, 1, 2, 3)

*演算子はシーケンス型に対して共通に使えるので、文字列に対しても同じように使える。
-> 文字列の繰り返し

二項算術演算 | Python 2.7 documentation
http://docs.python.jp/2/reference/expressions.html#binary-arithmetic-operation

二項算術演算 | Python 3 documentation
http://docs.python.jp/2/reference/expressions.html#binary-arithmetic-operations

Ruby / JRuby

*演算子を使う。

p ["a", "bb", "ccc"] * 3
# => ["a", "bb", "ccc", "a", "bb", "ccc", "a", "bb", "ccc"]

p [1, 2, 3] * 3
# => [1, 2, 3, 1, 2, 3, 1, 2, 3]

要素のオブジェクト自体がコピーされるわけではないので、可変オブジェクトを繰り返す際には注意が必要。要素のオブジェクトを変更すると繰り返したところにも伝搬する。

arr = ["a", "bb", "ccc"] * 3
arr[0][0] = 'A'
p arr
# => ["A", "bb", "ccc", "A", "bb", "ccc", "A", "bb", "ccc"]

*演算子は文字列の繰り返に対しても使える。
-> 文字列の繰り返し

Perl

x (アルファベットのエックス)を乗算の演算子のようにして使う。

my @arr1 = (1, 2, 3);
my @arr2 = (@arr1) x 3;
print Dumper(\@arr2);
# 出力結果
# $VAR1 = [
#           1,
#           2,
#           3,
#           1,
#           2,
#           3,
#           1,
#           2,
#           3
#     ];

x演算子は文字列の繰り返しに対しても使える。
-> 文字列に繰り返し

乗法演算子 | perldoc.jp
http://perldoc.jp/docs/perl/5.20.1/perlop.pod#Multiplicative32Operators

このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。