1

モジュールAを名前空間として使用してファイル全体で機能する場合は、次のように入力できます。

include A

それに続くものはすべて。内にありますA。クラスで同様のことをする方法はありBますか?

パッティング:

class B

ファイルの先頭、およびファイルのすべての内容の後に、ファイルを最後まで終了します。

end

エレガントに見えず、間違いの原因です。のような終了コマンドを必要としない方法を探していますend

上記の私の説明を編集include Aしてください。間違っているようです。そうしても、環境は依然として主要な目的です。私が望んでいるのは、それを可能にすることです。

def foo; ... end

明示的なネストがない場合、それはそれぞれの場合のメソッドとして、AまたはBそれぞれのケースのメソッドとして定義されます。

4

1 に答える 1

0

私の知る限り、そのような指示はありません。

ただし、ファイルが別のスクリプトによって「実行」される場合、実行できることは次のとおりです。

ファイルfile.rbに含まれています

puts self

ファイルmain.rbに含まれています

class B
    eval(File.read('file.rb'))
end

これをより透過的にしたい場合は、このすべての魔法を隠すrequireの独自の実装を提供することもできます。

于 2012-12-05T23:53:51.687 に答える