Bug #2967
SCRIPT_LINES__ is not included in constants()
| Status: | Rejected | Start date: | 03/16/2010 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | - | % Done: | 0% |
|
| Category: | - | |||
| Target version: | 1.9.1 | |||
| ruby -v: | ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-mswin32] |
Description
d:\bugs>irb
irb(main):001:0> RUBY_VERSION
=> "1.8.6"
irb(main):002:0> SCRIPT_LINES__ = {}
=> {}
irb(main):003:0> Object.constants.include? 'SCRIPT_LINES__'
=> true
irb(main):004:0> exit
d:\bugs>irb19
irb(main):001:0> RUBY_VERSION
=> "1.9.1"
irb(main):002:0> SCRIPT_LINES__ = {}
=> {}
irb(main):003:0> Object.constants.include? 'SCRIPT_LINES__'
=> false
irb(main):006:0> exit
History
Updated by Shri Borde almost 2 years ago
Using symbols works. ie Object.constants.include? :SCRIPT_LINES__. So this is not a bug. My bad.
Updated by Nobuyoshi Nakada almost 2 years ago
- Status changed from Open to Rejected
Use const_defined? which can work either on 1.8 and 1.9, and faster.