ライブラリ
- ビルトイン (468)
キーワード
- attr (12)
-
attr
_ accessor (4) -
attr
_ reader (4) -
attr
_ writer (4) - autoload (12)
-
class
_ eval (12) -
class
_ variable _ defined? (12) -
class
_ variable _ get (12) -
class
_ variable _ set (12) -
const
_ defined? (12) -
const
_ get (12) -
const
_ missing (12) -
const
_ source _ location (12) -
define
_ method (24) - inspect (12)
-
instance
_ method (12) -
method
_ added (12) -
method
_ defined? (12) -
method
_ removed (12) -
method
_ undefined (12) -
module
_ eval (12) - private (48)
-
private
_ class _ method (24) -
private
_ constant (12) -
private
_ method _ defined? (12) -
protected
_ method _ defined? (12) -
public
_ class _ method (24) -
public
_ constant (12) -
public
_ method _ defined? (12) -
remove
_ class _ variable (12) -
remove
_ const (12) -
remove
_ method (12) -
to
_ s (12) -
undef
_ method (12)
検索結果
先頭5件
-
Module
# class _ variable _ set(name , val) -> object (6238.0) -
クラス/モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。
...ルにクラス変数 name を定義して、その値として
val をセットします。val を返します。
@param name String または Symbol を指定します。
//emlist[例][ruby]{
class Fred
@@foo = 99
def foo
@@foo
end
end
def Fred.foo(val)
class_variable_set(:@@foo, va... -
Module
# remove _ class _ variable(name) -> object (6228.0) -
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。
...クラス変数に設定さ
れていた値を返します。
@param name String または Symbol を指定します。
@return 引数で指定されたクラス変数に設定されていた値を返します。
@raise NameError 引数で指定されたクラス変数がそのモジュールや......クラスに定義されていない場合に発生します。
//emlist[例][ruby]{
class Foo
@@foo = 1
remove_class_variable(:@@foo) # => 1
p @@foo # => uninitialized class variable @@foo in Foo (NameError)
end
//}
@see Module#remove_const, Object#remove_instance_variable... -
Module
# module _ eval(expr , fname = "(eval)" , lineno = 1) -> object (3146.0) -
モジュールのコンテキストで文字列 expr またはモジュール自身をブロックパラメータとするブロックを 評価してその結果を返します。
...です。
つまり、そのモジュールの定義式の中にあるかのように実行されます。
ただし、ローカル変数は module_eval/class_eval の外側のスコープと共有します。
定数とクラス変数のスコープは、文字列が与えられた場合とブロ......のスコープはブロックの外側のスコープになります。
@param expr 評価される文字列。
@param fname 文字列を指定します。ファイル fname に文字列 expr が書かれているかのように実行されます。
スタックトレースの表示......きます。
//emlist[例][ruby]{
class C
end
a = 1
C.class_eval %Q{
def m # メソッドを動的に定義できる。
return :m, #{a}
end
}
p C.new.m #=> [:m, 1]
//}
//emlist[定数のスコープが異なる例][ruby]{
class C
end
# ブロックが渡された... -
Module
# autoload(const _ name , feature) -> nil (191.0) -
定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
...定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。
const_name が autoload 設定されていて、まだ定義されてない(ロードされていない)ときは、
autoload する対象を置き換えます。
const_name が(autoload......ではなく)既に定義されているときは何もしません。
@param const_name String または Symbol で指定します。
なお、const_name には、"::" 演算子を含めることはできません。
つまり、self の直下に定義された定数しか指定で......と同様な方法で autoload する対象を指定する。
//emlist[例][ruby]{
# ------- /tmp/foo.rb ---------
class Foo
class Bar
end
end
# ----- end of /tmp/foo.rb ----
class Foo
autoload :Bar, '/tmp/foo'
end
p Foo::Bar #=> Foo::Bar
//}
以下のようにモジュールを明示的に... -
Module
# attr(*name) -> [Symbol] (175.0) -
インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
...インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
//emlist[例][ruby]{
class User
attr :name # => [:name]
# 複数の名前を渡すこともできる
attr :id, :age # => [:id, :age]
end
//}
このメソッドで定義されるアク......//emlist[例][ruby]{
def name
@name
end
//}
第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。
//emlist[例][ruby]{
def name=(val)
@name = val
end
//}
第 2 引数 に true......か false を指定する方法は非推奨です。
@param name String または Symbol で指定します。
@return 定義されたメソッド名を Symbol の配列で返します。... -
Module
# attr(name , false) -> [Symbol] (175.0) -
インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
...インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
//emlist[例][ruby]{
class User
attr :name # => [:name]
# 複数の名前を渡すこともできる
attr :id, :age # => [:id, :age]
end
//}
このメソッドで定義されるアク......//emlist[例][ruby]{
def name
@name
end
//}
第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。
//emlist[例][ruby]{
def name=(val)
@name = val
end
//}
第 2 引数 に true......か false を指定する方法は非推奨です。
@param name String または Symbol で指定します。
@return 定義されたメソッド名を Symbol の配列で返します。... -
Module
# attr(name , true) -> [Symbol] (175.0) -
インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
...インスタンス変数読み取りのためのインスタンスメソッド name を定義します。
//emlist[例][ruby]{
class User
attr :name # => [:name]
# 複数の名前を渡すこともできる
attr :id, :age # => [:id, :age]
end
//}
このメソッドで定義されるアク......//emlist[例][ruby]{
def name
@name
end
//}
第 2 引数 が true で指定された場合には、属性の書き込み用メソッド name= も同時に定義されます。
その定義は次の通りです。
//emlist[例][ruby]{
def name=(val)
@name = val
end
//}
第 2 引数 に true......か false を指定する方法は非推奨です。
@param name String または Symbol で指定します。
@return 定義されたメソッド名を Symbol の配列で返します。... -
Module
# attr _ accessor(*name) -> [Symbol] (173.0) -
インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を 定義します。
...インスタンス変数 name に対する読み取りメソッドと書き込みメソッドの両方を
定義します。
//emlist[例][ruby]{
class User
attr_accessor :name # => [:name, :name=]
# 複数の名前を渡すこともできる
attr_accessor :id, :age # => [:id, :id=, :age, :a......d
//}
このメソッドで定義されるメソッドの定義は以下の通りです。
//emlist[例][ruby]{
def name
@name
end
def name=(val)
@name = val
end
//}
@param name String または Symbol を 1 つ以上指定します。
@return 定義されたメソッド名を Symbol の配... -
Module
# attr _ writer(*name) -> [Symbol] (171.0) -
インスタンス変数 name への書き込みメソッド (name=) を定義します。
...インスタンス変数 name への書き込みメソッド (name=) を定義します。
//emlist[例][ruby]{
class User
attr_writer :name # => [:name=]
# 複数の名前を渡すこともできる
attr_writer :id, :age # => [:id=, :age=]
end
//}
このメソッドで定義されるメソ......ッドの定義は以下の通りです。
//emlist[例][ruby]{
def name=(val)
@name = val
end
//}
@param name String または Symbol を 1 つ以上指定します。
@return 定義されたメソッド名を Symbol の配列で返します。... -
Module
# attr _ reader(*name) -> [Symbol] (155.0) -
インスタンス変数 name の読み取りメソッドを定義します。
...インスタンス変数 name の読み取りメソッドを定義します。
//emlist[例][ruby]{
class User
attr_reader :name # => [:name]
# 複数の名前を渡すこともできる
attr_reader :id, :age # => [:id, :age]
end
//}
このメソッドで定義されるメソッドの定義......は以下の通りです。
//emlist[例][ruby]{
def name
@name
end
//}
@param name String または Symbol を 1 つ以上指定します。
@return 定義されたメソッド名を Symbol の配列で返します。... -
Module
# undef _ method(*name) -> self (155.0) -
このモジュールのインスタンスメソッド name を未定義にします。
...このモジュールのインスタンスメソッド name を未定義にします。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 指定したインスタンスメソッドが定義されていない場合に発生します。
=== 「未定義にする......」とは
このモジュールのインスタンスに対して name という
メソッドを呼び出すことを禁止するということです。
スーパークラスの定義が継承されるかどうかという点において、
「未定義」は「メソッドの削除」とは区別......[ruby]{
class A
def ok
puts 'A'
end
end
class B < A
def ok
puts 'B'
end
end
B.new.ok # => B
# undef_method の場合はスーパークラスに同名のメソッドがあっても
# その呼び出しはエラーになる
class B
undef_method :ok
end
B.new.ok # => NameError... -
Module
# const _ get(name , inherit = true) -> object (149.0) -
name で指定される名前の定数の値を取り出します。
...
name で指定される名前の定数の値を取り出します。
Module#const_defined? と違って Object を特別扱いすることはありません。
@param name 定数名。String か Symbol で指定します。
完全修飾名を指定しなかった場合はモジュー......定義されている
name で指定される名前の定数の値を取り出します。
@param inherit false を指定するとスーパークラスや include したモジュールで
定義された定数は対象にはなりません。
@raise NameError 定数が定義さ......いないときに発生します。
//emlist[例][ruby]{
module Bar
BAR = 1
end
class Object
include Bar
end
# Object では include されたモジュールに定義された定数を見付ける
p Object.const_get(:BAR) # => 1
class Baz
include Bar
end
# Object以外でも同様
p Baz.c... -
Module
# const _ source _ location(name , inherited = true) -> [String , Integer] (143.0) -
name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。
...
name で指定した定数の定義を含むソースコードのファイル名と行番号を配列で返します。
@param name Symbol,String で定数の名前を指定します。
@param inherited true を指定するとスーパークラスや include したモジュールで定義され......った場合は空の配列を返します。
//emlist[例][ruby]{
# test.rb:
class A # line 1
C1 = 1
C2 = 2
end
module M # line 6
C3 = 3
end
class B < A # line 10
include M
C4 = 4
end
class A # 継続して A を定義する
C2 = 8 # 定数を再定義する
end......] -- Object を継承している為
p M.const_source_location('A') # => ["test.rb", 1] -- Object は継承していないが追加で modules をチェックする
p Object.const_source_location('A::C1') # => ["test.rb", 2] -- ネストの指定もサポートしている
p Object....