Ruby/Tkをサブルーチン的に使いたいので教えて下さい。概要は後記のように,
MAINスクリプトから,SUBスクリプトに値(オブジェクト)を受け渡ししたいのですが,
いろいろサンプルを読んでもウィジェット側からサブルーチンを呼び出す方法しか無く,
その逆の方法の参考がありません。
Ruby/Tkを子プロセス的というか関数的に使うにはどうしたらよいでしょうか?

#!ruby
# MAIN
require 'sub.rb'
include Submodule
val = String.new
result = sub(val)
resultについての処理
...
__END__

#!ruby
# SUB
moduel Submodule
require "tk"

def sub(val)
v = TkVariable.new(val)

TkRadioButton.new { text 'top'; variable v ; value 'top'; anchor 'w'
pack('side' => 'top', 'fill' => 'x')}
TkRadioButton.new { text 'middle'; variable v ; value 'middle' ; anchor 'w'
pack('side' => 'top', 'fill' => 'x')}
TkButton.new { text 'Quit' ; command 'exit' ; pack }
Tk.mainloop
end
__END__