[#43494] ブロックとともに呼び出されたsortについて — "Toshiyuki Ogura" <oguradio@...>

小倉です。

12 messages 2007/05/15

[#43508] rubyのテキストについて — 桑江 康公 <ykuwae@...>

はじめまして、桑江といいます。プログラム開発の勉強をはじめたいと考えています。いろいろと調べたのですが、オブジェクト指向を使った開発が現在しりゅうとのことで、Javaを勉強しようと考えていたのですが、rubyという言語もあるということがわかりネットで調べたところこのメーリングリストにたどり着きました。どなたかプログラム開発初心者でもわかりやすい本またはサイトがありましたら教えていただけないでしょうか?ちなみに、私のレベルはHTMLが少しわかる程度です。

8 messages 2007/05/15

[ruby-list:43523] ネストしたモジュールから参照する定数

From: KURODA Hiraku <hiraku@...>
Date: 2007-05-16 12:49:33 UTC
List: ruby-list #43523
黒田拓です。

Rubyの仕様に関して質問いたします。

以下のようなソースで、ネストしたモジュールの中から外側のモジュールの定数
を参照しようとしました。

----
 #!/usr/bin/ruby
 module A
    HOGE = "hoge"
    module B
       def self.test
          puts HOGE
       end
    end
 end
 module A
    module C
       def self.test
          puts HOGE
       end
    end
 end
 module A::D
    def self.test
       puts HOGE
    end
 end
 A::B.test
 A::C.test
 A::D.test
----

定義をこのように記述すると、モジュールBとCからは外側のモジュールAの定数
A::HOGEを参照できるのですが、DからはA::HOGEを参照できず、
  uninitialized constant A::D::HOGE (NameError)
が発生しました。

Rubyのバージョンは
 ruby 1.8.5 (2006-08-25) [i486-linux]
です。


| module A
|   module B; end
| end
という記述と
| module A; end
| module A::B; end
という記述は同じものだと考えていたのですが実は違うのでしょうか?


# とりあえずruby-listから検索すると以下のようなスレッドが
# 見付かりました。
#   http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/36944
# 今回の件ではincludeではなく単に記述方法の違いなので該当しないのではな
# いかとも思うのですが、やはりこれなのでしょうか?


以上、どうぞよろしくお願いいたします。

-- 
--------------------------------------------------
 黒田 拓(くろだ ひらく)
    hiraku@sapporo.email.ne.jp
    http://www.hinet.mydns.jp/~hiraku/
--------------------------------------------------

In This Thread

Prev Next