ハッシュのハッシュをログ ファイルのテーブルに ASCII 形式で出力しようとしています。私はハッシュを持っています。その値は再びハッシュであり、その値はリストです:
irb(main):057:0> h = {
irb(main):058:1* 'mode1' => {
irb(main):059:2* 'name1' => [2, 4],
irb(main):060:2* 'name2' => [54, 65]
irb(main):061:2> },
irb(main):062:1* 'mode2' => {
irb(main):063:2* 'name4' => [3, 0],
irb(main):064:2* 'name3' => [2, 1]
irb(main):065:2> },
irb(main):066:1* 'mode3' => {
irb(main):067:2* 'xys' => [100, 28]
irb(main):068:2> }
irb(main):069:1> }
次のように印刷したい:
**************************************************************************************
| No | Mode Name | Sub Name | Value 1 | Value 2 |
**************************************************************************************
| 1 | mode1 | name1 | 2 | 4 |
| | | name2 | 54 | 65 |
--------------------------------------------------------------------------------------
| 2 | mode2 | name4 | 3 | 0 |
| | | name3 | 2 | 1 |
--------------------------------------------------------------------------------------
| 3 | mode3 | xys | 100 | 28 |
**************************************************************************************
- これを達成する簡単な方法はありますか?
- を使用して独自の方法を試しています
printf
が、ブロックを使用して中央揃えする方法を理解できずhash.each
、内部ハッシュに複数のキーがあるとスタックします。1 列目と 2 列目を印刷する必要はありません。
を使用してruby 1.8.6 (2009-08-04 patchlevel 383)
います。