2
私はRubyをかなり新しくしていますが、do-blockコードの中に関数のdefコードが書かれているところです。これの目的は何です:ブロック内の関数defは何を成し遂げますか?
module Hi
def self.included(base)
base.class_eval do
def hello; puts 'Hello' end
end
end
end
私は私が最初に直進移動する前に、私のミックスインの概念を取得する必要があります確信している(と私は深くミックスインのとその他もろもろにダイビングの過程にいるよ)が、デフ方法:こんにちは、doブロック内で使用されている私を混乱させます
他の質問には、クラスの代わりに「Hi」が含まれていて、最後にクラスにこの新しいモジュールが含まれているとどうなりますか? – Raja
私はirbで様々なことを試みましたが、Fooクラスのオブジェクトはhelloメソッドをまったく取得しません。 irbへのトリックはありますか? – Raja
これは私のためにコードを貼り付けてから、私の最初のビットをirbに貼り付けます。 'f = Foo.new;を呼び出す。 f.hello'は "Hello"を出力します。あなたの1つ以上の質問については、 'self.included'がクラスに含まれていない他のモジュール上で実行される点を除いて、動作は同じです。 –