要約
トップレベルでの self を表すオブジェクトです。
main では参照できない事に注意してください。トップレベルで self から参照してください。
トップレベルで定義したメソッドは main オブジェクトの private メソッドとして定義されます。
目次
特異メソッド
define_method(name, method) -> Symbol[permalink][rdoc]define_method(name) { ... } -> Symbol-
インスタンスメソッド name を Object に定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが Object インスタンスの上で BasicObject#instance_eval されます。
- [PARAM] name:
- String または Symbol を指定します。
- [PARAM] method:
- Proc、Method あるいは UnboundMethod のいずれかのインスタンスを指定します。
- [RETURN]
- メソッド名を表す Symbol を返します。
- [EXCEPTION] TypeError:
- method に同じクラス、サブクラス以外のメソッドを指定した場合に発生します。
[SEE_ALSO] Module#define_method
include(*modules) -> self[permalink][rdoc]-
引数 modules で指定したモジュールを後ろから順番をインクルードします。
- [PARAM] mod:
- Module のインスタンス( Enumerable など)を指定します。
- [EXCEPTION] ArgumentError:
- 継承関係が循環してしまうような include を行った場合に発生します。
[SEE_ALSO] Module#include
private(*name) -> Object[permalink][rdoc]-
メソッドを private に設定します。
引数が与えられた時には引数によって指定されたメソッドを private に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドを関数形式でだけ呼び出せるように(private)設定します。
- [PARAM] name:
- String または Symbol を 0 個以上指定します。
- [EXCEPTION] NameError:
- 存在しないメソッド名を指定した場合に発生します。
[SEE_ALSO] Module#private
public(*name) -> Object[permalink][rdoc]-
メソッドを public に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義されるメソッドをどんな形式でも呼び出せるように(public)設定します。
引数が与えられた時には引数によって指定されたメソッドを public に設定します。
- [PARAM] name:
- String または Symbol を 0 個以上指定します。
- [EXCEPTION] NameError:
- 存在しないメソッド名を指定した場合に発生します。
[SEE_ALSO] Module#public
to_s -> "main"[permalink][rdoc]-
"main" を返します。
using(module) -> self[permalink][rdoc]-
引数で指定したモジュールで定義された拡張を有効にします。
有効にした拡張の有効範囲については以下を参照してください。
- [PARAM] module:
- 有効にするモジュールを指定します。
[SEE_ALSO] Module#refine
[注意] refinements は 2.0 現在、実験的な機能として提供されています。以降のバージョンで仕様が変更になる可能性があります。使用すると必ず警告が表示されます。