0

Rubyスクリプトで次のように単純なRubyクラスを作成します。

class Rock::Stone
end

コマンド プロンプトでスクリプトを実行すると、次のようになります。

`<main>': uninitialized constant Rock (NameError)

どうしてこれなの?スコープ解決演算子はクラス定義で許可されていると思いましたか?

4

3 に答える 3

1

スコープ解決演算子はクラス定義で許可されていると思いましたか?

それらは許可されますが、含まれているモジュール (またはクラス) が最初に存在する必要があります。

module Rock
end

class Rock::Stone
end

Rock::Stone.new
# => #<Rock::Stone:0x00000000a38248>
于 2013-06-05T00:47:15.337 に答える