Hash の中に Hashを入れることも可能である。
key_1 といえば value_1
value_1 を key_2 とし、key_2 といえば value_2
value_2 を key_3 とし、key_3 といえば value_3
:
わらしべ長者という昔話がある。 (参考)
貧乏な男が転んだ。 転んだらわらをつかんだ。 アブが飛んできた。 アブがうるさいのでわらにくくりつけた。 わらにくくるとおもちゃになった。 おもちゃになったわらを持って歩いた。 泣いている赤ん坊が欲しがった。 赤ん坊は泣きやんだ。 泣きやんだ礼としてみかんをもらった。 喉の喝いた旅人がみかんを欲しがった。 喉をうるおした礼として反物をもらった。 侍が倒れた馬と反物を交換したがった。 反物と倒れた馬を交換した。 倒れた馬を休ませた。 馬は元気になった。 元気な馬を欲しがる庄屋がいた。 庄屋は旅に出た。 庄屋は旅に出るため屋敷の留守を頼んだ。 庄屋は戻って来なかった。 貧乏な男は庄屋になった。
一つの出来事に対して一つの出来事が発生している。 数学の証明に使う三段論法もこの方法である。 また、数学の証明などによく使われる三段論法もこのパターンである。
「人間は皆死ぬ。ソクラテスは人間である。故にソクラテスは死ぬ。」
まず、大前提、小前提、最後に結論が来る。hash で表すと、
{人間 => 死ぬ, ソクラテス => 人間}
よって、「人間」が key と value に含まれているので、 これらをつなげて、
{ソクラテス => 死ぬ}
となる。 実際に作ってみよう。