[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>

Hello there, how are you? Hope you are fine. I am a PHP programmer

17 messages 2013/06/02

[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>

Hello,

18 messages 2013/06/03

[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>

Thread title says everything.

18 messages 2013/06/04

[#408012] Need help understanding recursion. — pedro oliva <lists@...>

Ive been reading Chris Pine's book 'Learn to Program' and its been going

11 messages 2013/06/06

[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>

I'm new to Ruby Development. I downloaded source from Github, but couldn't

24 messages 2013/06/11
[#408131] Re: Getting Started With Development — Per-erik Martin <lists@...> 2013/06/11

Ruby is often installed on linux, or can be easily installed with the

[#408146] Re: Getting Started With Development — "Chamila W." <lists@...> 2013/06/11

Per-erik Martin wrote in post #1112021:

[#408149] Re: Getting Started With Development — "Carlo E. Prelz" <fluido@...> 2013/06/11

Subject: Re: Getting Started With Development

[#408198] NokoGiri XML Parser — "Devender P." <lists@...>

Hi,

11 messages 2013/06/13

[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>

I am trying to load a ruby program into irb and it will not load.

12 messages 2013/06/13

[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>

Hell Team,

18 messages 2013/06/13
[#408219] Re: Can I use Sinatra to render dynamic pages? — Nicholas Van Weerdenburg <vanweerd@...> 2013/06/14

You should be able to do this without JavaScript by using streaming.

[#408228] Re: Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...> 2013/06/14

Well, I got some good suggestions from everyone here. I thank you all for

[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>

I have two arrays of objects that look something like this:

14 messages 2013/06/17

[#408276] Comparing objects — "Thom T." <lists@...>

How do I compare two objects in Ruby, considering only attributes

15 messages 2013/06/17

[#408307] getting the most out of Ruby — robin wood <lists@...>

I write a lot of scripts in Ruby, most are small simple things but some

13 messages 2013/06/18

[#408309] Creating ruby script exe — Rochit Sen <lists@...>

Hi All,

17 messages 2013/06/18

[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>

Hi all!

28 messages 2013/06/20

[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>

I want to evaluate the following interactively:

10 messages 2013/06/23

[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>

I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9

17 messages 2013/06/27

[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>

Hello all,

12 messages 2013/06/27

[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>

array = {:id=>1, :price =>0.25} # index[0]

23 messages 2013/06/28

Re: Cannot access constants from included modules in a submodule

From: Kendall Gifford <zettabyte@...>
Date: 2013-06-03 20:37:17 UTC
List: ruby-talk #407927
On Mon, Jun 3, 2013 at 9:38 AM, Bram S. <lists@ruby-forum.com> wrote:

> Hi there,
>
> I am trying to include a bunch of constants into a module and all its
> "submodules" (by this I mean modules that are defined within the scope
> of the first module; is there a word for that?),


I would just say that your "submodules" are "namespaced" or "nested" within
a parent.


> but the constants only
> seem accessible in the module that directly includes them, not in a
> submodule.  See this example:
>
> ===
> module FooModule
>
>   Foo = :foo
>
> end
>
> module BarModule
>
>   include FooModule
>
>   Bar = :bar
>
>   p ancestors # => [BarModule, FooModule]
>   p Bar # works
>   p Foo # works
>
>   module SubBarModule
>
>     p ancestors # => [BarModule::SubBarModule]
>     p Bar # works
>     p Foo # fails
>
>   end
>
> end
> ===
>
> Now if the SubBarModule's ancestors do not include FooModule, I can
> understand that it cannot access Foo, but on the other hand,
> SubBarModule's ancestors do not include BarModule either, so why can it
> acces Bar?
>

"Constants are looked up in the lexical scope in which they were
referenced." (Programming Ruby 1.9, page 290)

Accessing the constant Bar works above because the constant is available
based on the lexical scope (it's defined in an enclosing module
definition). So, its availability has nothing to do with inheritance. If
you really want a set of constants to be available to a module and all
modules nested/namespaced within it, just define said constant in the
outermost module that needs access. If the constants are already defined in
another, unrelated module that gets mixed into the outermost module, like
you're doing by including FooModule into BarModule, and if moving the
constants directly into FooModule isn't an option, then there are several
other options; which is best really depends upon the specifics of your
circumstances.


>
> Tested in Ruby 1.8.7, 1.9.3p0 and 2.0.0p195, just to be sure that the
> semantics have not changed -- it seems to be they haven't.
>
> Regards,
>
> Bram Senders
> bupknar@gmail.com
>
> --
> Posted via http://www.ruby-forum.com/.
>
>


-- 
Kendall Gifford
zettabyte@gmail.com

In This Thread