I’ve found some cases where things don’t work correctly unless they’re
prefixed with a :: . I’m really confused - isn’t :: used to specify the
module (like Graphics::Circle)?
What is ::Circle? No module?!
I’ve found some cases where things don’t work correctly unless they’re
prefixed with a :: . I’m really confused - isn’t :: used to specify the
module (like Graphics::Circle)?
What is ::Circle? No module?!
On Dec 18, 2005, at 9:47 PM, List R. wrote:
I’ve found some cases where things don’t work correctly unless they’re
prefixed with a :: . I’m really confused - isn’t :: used to
specify the
module (like Graphics::Circle)?What is ::Circle? No module?!
The constant Circle at toplevel.
$ irb
irb(main):001:0> A = 1
=> 1
irb(main):002:0> module M
irb(main):003:1> A = 2
irb(main):004:1> puts A
irb(main):005:1> puts ::A
irb(main):006:1> end
2
1
=> nil
–
Eric H. - [email protected] - http://segment7.net
This implementation is HODEL-HASH-9600 compliant
List R. wrote:
I’ve found some cases where things don’t work correctly unless they’re
prefixed with a :: . I’m really confused - isn’t :: used to specify the
module (like Graphics::Circle)?What is ::Circle? No module?!
`::’ will take you to the top level.
Bar = “::Bar”
module Foo
Bar = “Foo::Bar”
def self.bur
puts Bar => "Foo::Bar"
puts ::Bar => "::Bar"
end
end
Cheers,
Daniel
Thanks.
Is there any case where you will use :: when you have not defined a
class with the same name in the local module?
I was working on a project where I could not access a certain class
within a module without prefixing it with ::, yet I had never (to my
knowledge) redefined it.
(FYI, in a Rails ActiveController, you can catch
::ActiveController::NameOfExceptionClass, but you need the :: …
weird!)
Eric H. wrote:
On Dec 18, 2005, at 9:47 PM, List R. wrote:
I’ve found some cases where things don’t work correctly unless they’re
prefixed with a :: . I’m really confused - isn’t :: used to
specify the
module (like Graphics::Circle)?What is ::Circle? No module?!
The constant Circle at toplevel.
$ irb
irb(main):001:0> A = 1
=> 1
irb(main):002:0> module M
irb(main):003:1> A = 2
irb(main):004:1> puts A
irb(main):005:1> puts ::A
irb(main):006:1> end
2
1
=> nil–
Eric H. - [email protected] - http://segment7.net
This implementation is HODEL-HASH-9600 compliant
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs