Generally I expect modules not to generate warnings, but I get a whole
screenfull of the following using Ruby/Tk:
/usr/lib/ruby/1.6/tk.rb:233: warning: instance variable @cmdtbl not
initialized
/usr/lib/ruby/1.6/tk.rb:233: warning: instance variable @cmdtbl not
initialized
/usr/lib/ruby/1.6/tk.rb:233: warning: instance variable @cmdtbl not
initialized
/usr/lib/ruby/1.6/tk.rb:233: warning: instance variable @cmdtbl not
initialized
/usr/lib/ruby/1.6/tk.rb:233: warning: instance variable @cmdtbl not
initialized
The offending line reads:
@cmdtbl = [] unless @cmdtbl
Which seems like a sensible thing for Tk to do, especially since the next
line attempts a @cmdtbl.push.
Anything I can do about this warning?
Thanks.
-michael
···
++++++++++++++++++++++++++++++++++++++++++
Michael C. Libby x@ichimunki.com
public key: http://www.ichimunki.com/public_key.txt
web site: http://www.ichimunki.com
++++++++++++++++++++++++++++++++++++++++++
[…]
The offending line reads:
@cmdtbl = unless @cmdtbl
[…]
Anything I can do about this warning?
Either of the following two alternatives should work:
@cmdtbl = [] unless defined? @cmdtbl
@cmdtbl ||= []
Hope this helps.
Reimer Behrends
···
michael libby (x@ichimunki.com) wrote:
The offending line reads:
@cmdtbl = unless @cmdtbl
Either of the following two alternatives should work:
@cmdtbl = unless defined? @cmdtbl
Thanks. This works perfectly. My tk code is much quieter now.
How to submit the following as a patch? The tk.rb in CVS appears to still
have the code that will generate a warning.
chandler@greyhound:/usr/lib/ruby/1.6$ diff tk.old.rb tk.rb
233c233
< @cmdtbl = unless @cmdtbl
···
On Wednesday 28 August 2002 03:23, Reimer Behrends wrote:
michael libby (x@ichimunki.com) wrote:
@cmdtbl = unless defined? @cmdtbl
++++++++++++++++++++++++++++++++++++++++++
Michael C. Libby x@ichimunki.com
public key: http://www.ichimunki.com/public_key.txt
web site: http://www.ichimunki.com
++++++++++++++++++++++++++++++++++++++++++