例外が上がるのはf.resumeの実行以降だからまずはp 1の位置が違う(下のrescueにすべき)と思うけど
なぜかTimeout::Errorじゃない無名のクラスになってて補足できてないね・・・なぜだろう誰か詳しい人

コンテクストが親に切り替わっても例外は上がるんだね
俺よくわかってないや

>>749
こんな感じ?
取得
index.inject(array){|s,r|s[r]}
設定
index[0..-2].inject(array){|s,r|s[r]}[index[-1]]=x