From: Ferenc Engard Date: 2003-09-06T09:11:26+09:00 Subject: 2 questions about TkVariable and ruby/tk Hi all! I have the following code snippet: ----------------------------------- .... h=Hash.new (0..4).each {|c| (0..9).each {|r| h["#{r},#{c}"]="#{r} ; #{c}"; } } v=TkVariable.new(h) #~ puts "before: #{v.value}" puts "ok." t2=TkTable.new() { rows 10 cols 5 variable v } t2.pack() Tk.mainloop() ------------------------------------- (TkTable is a wrapper for a tktable tcl widget written by me. It uses 'variable' to store the data of the table cells.) This works perfectly, just as I expect. BUT, if I comment out the debugging puts(), then it prints v's content, then 'ok.' just as before, but after that the program hangs, the X window do not appear, and I cannot even stop the program with CTRL-C! If I simply just read the v.value (do not print it), the result is similar. :-O With v.inspect the problem do not occur. What difference makes reading a TkVariable's value??? My second question is related to the previous: I have the feeling that this 'hang' really means a runtime error in the ruby code which is executed from tcl (which is executed from ruby :). So, my question is how to receive these error messages, and why do the process hang if it encounters with an error like this?