今まで、配列の内容を生成するときは
- 空配列作成
- 泥臭くeachぶん回し
といった手順で作ってました。
が……規則性がある場合、newする時にブロック渡すとスッキリです。
具体例
「0〜15の二乗の値を16進数化した文字列」を放り込みたい場合
> Array.new(16) { |i| "0x%02x" % [i ** 2] } #=> ["0x00", "0x01", "0x04", "0x09", "0x10", ...(中略)... , "0xc4", "0xe1"]
今まで、配列の内容を生成するときは
といった手順で作ってました。
が……規則性がある場合、newする時にブロック渡すとスッキリです。
「0〜15の二乗の値を16進数化した文字列」を放り込みたい場合
> Array.new(16) { |i| "0x%02x" % [i ** 2] } #=> ["0x00", "0x01", "0x04", "0x09", "0x10", ...(中略)... , "0xc4", "0xe1"]