Я полагаю, вы нашли пример на этом сайте
Я повторяю то, что уже есть на сайте, но вам не хватает:
require 'tk'
, а также код инициализации:
def initialize
root = TkRoot.new { title 'Tk Stopwatch' }
menu_spec = [
[
['Program'],
['Start', lambda { start } ],
['Stop', lambda { stop } ],
['Exit', lambda { exit } ]
],
[
['Reset'], ['Reset Stopwatch', lambda { reset } ]
]
]
@menubar = TkMenubar.new(root, menu_spec, 'tearoff' => false)
@menubar.pack('fill'=>'x', 'side'=>'top')
@myfont = TkFont.new('size' => 16, 'weight' => 'bold')
@mylabel = TkLabel.new(root)
@mylabel.configure('text' => '00:00:00.0', 'font' => @myfont)
@mylabel.pack('padx' => 10, 'pady' => 10)
@mybutton = TkButton.new(root)
@mybutton.configure('text' => 'Start')
@mybutton.command { start }
@mybutton.pack('side'=>'left', 'fill' => 'both')
@timer = TkAfter.new(1, -1, proc { tick })
Tk.mainloop
end
end
Stopwatch.new
Я бы посоветовал прочитать остальную часть сайта , чтобы понять, что происходит.