Thank you Hidetoshi.

I try your code, but got this error message:

c:/tools/ruby/lib/ruby/1.8/tk.rb:1434:in `_invoke_without_enc': bad argument "^"
: must be name of window (RuntimeError)
        from c:/tools/ruby/lib/ruby/1.8/tk.rb:1434:in `_ip_invoke_core'
        from c:/tools/ruby/lib/ruby/1.8/tk.rb:1470:in `_tk_call_core'
        from c:/tools/ruby/lib/ruby/1.8/tk.rb:1498:in `tk_call_without_enc'
        from c:/tools/ruby/lib/ruby/1.8/tk/grid.rb:45:in `configure'
        from C:/tsh/ruby/tk/grid.rb:8
shell returned 1

Some information:

C:\tools\ruby>ruby -version
ruby 1.8.2 (2004-07-29) [i386-mswin32]
-e:1: undefined local variable or method `rsion' for main:Object (NameError)

C:\tools\ruby>ruby -rtk -e 'p Tk::TCL_VERSION'
"8.3"

C:\tools\ruby>ruby -rtk -e 'p Tk::TK_VERSION'
"8.3"
============================================

>No. TkGrid supports them. Please try the following. 
>------------------------------------------------
>require 'tk'
>
>a = TkButton.new(:text=>'a')
>b = TkButton.new(:text=>'b')
>c = TkButton.new(:text=>'c')
>
>TkGrid.configure( a , '-',      :sticky=>'news') # or Tk.grid
>TkGrid.configure('^', '^',  b , :sticky=>'news') # or Tk.grid
>TkGrid.configure( c , 'x', '^', :sticky=>'news') # or Tk.grid
>
>TkGrid.columnconfigure(Tk.root, [0,1,2], :weight=>1) # or Tk.grid_columnconfig
>TkGrid.rowconfigure(Tk.root, [0,1,2], :weight=>1)    # or Tk.grid_rowconfig
>
>Tk.root.geometry('250x250')
>
>Tk.mainloop
>------------------------------------------------