小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

配列を任意の一文字で初期化するには

@Array=();にすると各要素にアクセスする時は、未定義になります。
では、任意の一文字で初期化するには、どうしたらよいでしょうか?
たとえば、10個「"0"」で初期化するには、以下の感じ。

@Array = ("0", "0", "0", "0", "0", "0", "0", "0", "0", "0");

スマートに書くと

@Array = ("0") x 10;

掛け算記号にエックスを使うなんてオチャメ。


以下は、出来そうだけどNGです。

@Array = map {$_ . "0"} @Array;

未定義と文字列は連結できないようです。ていうか、これできたら大変なことになる(謎)。

素数が0であるため{ }内が一度も実行されないからではないでしょうか。

私もそう思います。(ご指摘受けるまでは、気づきませんでした)
kitsさん、いつもご指摘ありがとうございます。