1

複数のモジュールを含むコードを理解しようとしています

module a; module b; module c;

def foo
    #something 
end

end
end
end

では、上記のコードは正確には何を意味するのでしょうか? 3 つのモジュールすべてに foo があり、a.foo や b.foo などにアクセスできますか?

4

1 に答える 1

2

それがどのように混乱するかがわかります。レイアウトが非常に悪いです。モジュール宣言を別々の行に分割すると、より理にかなっています。Ruby では、1 行で記述した場合にセミコロンで区切ることができます... これはここで悪用されており、混乱を招くだけです。

正しくレイアウトされると、コードは次のように展開されます。

module a
  module b
    module c
      def foo
        #something 
      end
    end
  end
end

セミコロンを使用して 1 行で定義を記述するその他の例には、次のものがあります。

class Foo < Bar; def zip; if @terrifying; puts "Yes"; else; puts "No"; end; end; end

これがよく書かれていないと私が言う理由はおそらくお分かりでしょう。また、モジュール名は大文字で始める必要があります。

于 2012-06-02T02:28:10.533 に答える