Yehudaさんがこのビデオを見ており、Rubyがどのように優れた抽象化を構築するのかを説明しました。サンプルRubyコード、これをどのように抽象化していますか?
class FOWA
def self.is_fun
def fun?
true
end
end
is_fun
end
彼は、ルビーで、話してどのようにあなたは何度も何度も自分のクラスのコードを繰り返している場合は、あなたが方法などの観点で物事を考えるすることなく出て、それが抽象ことができ、彼はこのように述べました。メタプログラミング技術を使用していました。
これは何か説明できますか?
これはFOWAのクラスメソッドです(静的メソッドのように、インスタンスを呼び出す必要はありません)。このクラスメソッドは本当にtrueを返す別のメソッドをラッピングするだけです。
これはis_funクラスメソッドが現在実行されているか、何ですか?最後の行 "is_fun"が何をしているのか分かりませんか?クラスの終わりに
私はそれを取得しますが、インスタンスfの呼び出し側またはユーザがf.is_funを呼び出すと、これを行うクラスのdefenitionの代わりに、私が推測するはずのフライでメソッドを作成します。 – Blankman