Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

規則性のある配列を生成するときはブロックをつけると綺麗

今まで、配列の内容を生成するときは

  • 空配列作成
  • 泥臭くeachぶん回し

といった手順で作ってました。
が……規則性がある場合、newする時にブロック渡すとスッキリです。

具体例

「0〜15の二乗の値を16進数化した文字列」を放り込みたい場合

> Array.new(16) { |i| "0x%02x" % [i ** 2] }

#=> ["0x00", "0x01", "0x04", "0x09", "0x10", ...(中略)... , "0xc4", "0xe1"]