青山です。
こんな感じです。(って、実行例だけですが...)
$ ruby -e '
def foo
i = 15
get = proc{i}
set = proc{|n| i = n}
return get, set
end
p1, p2 = foo
p p1.call
p2.call(1) # i = 1 に相当
p p1.call
'
15
1
-----
ユーザーガイドは見ていませんが、この例の本題はリファレンスマニュアルの
ローカル変数の説明の「例外としてブロックが手続きオブジェクト化された場
合は,そのオブジェクトが消滅するまで存在します.」にあたる部分でしょう
かね。
--
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>