>>222
>‥説明下手でごめんねorz

データ構造の仕様を明確に(=形式的に)記述する手法はいくつかある。以下はBNFと呼ばれる書き方。
(もしBNFを知らなければ、Wikipedia等で勉強してね)

 <入力データ> ::= <入力レコード>*
 <入力レコード> ::= <月> <項目>*

 <出力データ> ::= <出力レコード>*
 <出力レコード> ::= <月> <出力レコード本体>
 <出力レコード本体> ::= <項目>* <合計>

 <月> ::= 文字列
 < 項目 > ::= 整数
 < 合計 > ::= 整数

他にも、今回のケースだと(IntegerやStringといった)基礎オブジェクトの他には
ArrayとHashしか使われていないから、JSONやYAMLのスキーマ定義言語で代用してもいい。
・JSONの可能性がグンと拡がるぞ! JSONスキーマ - 檜山正幸のキマイラ飼育記
  http://d.hatena.ne.jp/m-hiyama/20090413/1239581682
・Rubyist Magazine - プログラマーのための YAML 入門 (検証編)
  http://jp.rubyist.net/magazine/?0012-YAML

あるいは、MLやHaskellのような「強いデータ型」の言語の記法でもいい。
(ちなみに、Haskellの記法はRubyリファレンスのメソッド定義記法として利用されている)

おそらくこのスレを覗いている人であれば、これらのいずれかで書けば、理解してくれると思うよ。