メモ:ダメだ(>_<)

# coding: CP932

# 生成パターン
PATTERN = {
  SEQ:    -> size, n {1.upto(1.0/0).take(n).map{|i| "%0#{size}d"%i}}.curry,
  HIRA:   -> size, n {(''..'').cycle.take(size * n).each_cons(size).map(&:join)}.curry,
  KATA:   -> size, n {((''..'').to_a+(''..'').to_a).cycle.take(size * n).each_cons(size).map(&:join)}.curry,
  KANJI:  -> size, n {(''..'').cycle.take(size * n).each_cons(size).map(&:join)}.curry,
}

# 区切り文字
DELIMITTER  = "\t"

# 列定義
cols  = [
  PATTERN[:SEQ][6],
  PATTERN[:HIRA][3],
  PATTERN[:KATA][4],
  PATTERN[:KANJI][5],
]

# 行定義
rows = Array.new(25)

# データ生成
rows.tap{|rows|
  puts  rows.zip( *cols.map{ |col| col[rows.size] } )
            .map { |data| data.drop(1).join("\t") }
}

出力

000001  ぁあぃ  ァアィイ        亜唖娃阿哀
000002  あぃい  アィイゥ        唖娃阿哀愛
000003  ぃいぅ  ィイゥウ        娃阿哀愛挨
000004  いぅう  イゥウェ        阿哀愛挨姶
000005  ぅうぇ  ゥウェエ        哀愛挨姶逢
000006  うぇえ  ウェエォ        愛挨姶逢葵
000007  ぇえぉ  ェエォオ        挨姶逢葵茜
000008  えぉお  エォオカ        姶逢葵茜穐
000009  ぉおか  ォオカガ        逢葵茜穐悪
000010  おかが  オカガキ        葵茜穐悪握
000011  かがき  カガキギ        茜穐悪握渥
000012  がきぎ  ガキギク        穐悪握渥旭
000013  きぎく  キギクグ        悪握渥旭葦
000014  ぎくぐ  ギクグケ        握渥旭葦芦
000015  くぐけ  クグケゲ        渥旭葦芦鯵
000016  ぐけげ  グケゲコ        旭葦芦鯵梓
000017  けげこ  ケゲコゴ        葦芦鯵梓圧
000018  げこご  ゲコゴサ        芦鯵梓圧斡
000019  こごさ  コゴサザ        鯵梓圧斡扱
000020  ごさざ  ゴサザシ        梓圧斡扱宛
000021  さざし  サザシジ        圧斡扱宛姐
000022  ざしじ  ザシジス        斡扱宛姐虻
000023  しじす  シジスズ        扱宛姐虻飴
000024  じすず  ジスズセ        宛姐虻飴絢
000025  すずせ  スズセゼ        姐虻飴絢綾