るりまサーチ

最速Rubyリファレンスマニュアル検索!
144件ヒット [1-100件を表示] (0.078秒)

別のキーワード

  1. module attr
  2. module protected
  3. module public
  4. module private
  5. module new

ライブラリ

クラス

モジュール

キーワード

検索結果

<< 1 2 > >>

Object#extend(*modules) -> self (18298.0)

引数で指定したモジュールのインスタンスメソッドを self の特異 メソッドとして追加します。

...ジュールのインスタンスメソッドを self の特異
メソッドとして追加します。

Module
#include は、クラス(のインスタンス)に機能を追加します
が、extend は、ある特定のオブジェクトだけにモジュールの機能を追加
したいときに...
...ら逆順に extend を行います。

@param modules モジュールを任意個指定します(クラスは不可)。
@return self を返します。

//emlist[][ruby]{
module
Foo
def a
'ok Foo'
end
end

module
Bar
def b
'ok Bar'
end
end

obj = Object.new
obj.extend Foo, Bar
p...
...clude Foo
extend
Bar
end

p Klass.new.a #=> "ok Foo"
p Klass.b #=> "ok Bar"
//}

extend
の機能は、「特異クラスに対する Module#include」
と言い替えることもできます。
ただしその場合、フック用のメソッド
Module#extended ではなく Module#include...

Module#extended(obj) -> () (15175.0)

self が他のオブジェクト に Object#extend されたときに 呼ばれます。引数には extend を行ったオブジェクトが渡されます。

...bject#extend されたときに
呼ばれます。引数には extend を行ったオブジェクトが渡されます。

@param obj Object#extend を行ったオブジェクト

//emlist[例][ruby]{
module
Foo
def self.extended(obj)
p "#{obj} extend #{self}"
end
end

Object.new.extend Foo...
...# => "#<Object:0x401cbc3c> extend Foo"
//}

@see Module#extend_object...

Module#extend_object(obj) -> object (15160.0)

Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

...Object#extend の実体です。オブジェクトにモジュールの機能を追加します。

Object#extend は、Ruby で書くと以下のように定義できます。

//emlist[例][ruby]{
def extend(*modules)
module
s.reverse_each do |mod|
# extend_object や extended はプライ...
...ベートメソッドなので
# 直接 mod.extend_object(self) などとは書けない
mod.__send__(:extend_object, self)
mod.__send__(:extended, self)
end
end
//}

extend
_object のデフォルトの実装では、self に定義されて
いるインスタンスメソッドを obj...
...の特異メソッドとして追加します。

@param obj self の機能を追加するオブジェクトを指定します。

@return obj で指定されたオブジェクトを返します。

@see Module#extended...

Object#is_a?(mod) -> bool (37.0)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

...返します。
Module
#includeだけではなく、Object#extendModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。

@param mod クラスやモジュールなど、Moduleかそのサブ...
...です。

//emlist[][ruby]{
module
M
end
class C < Object
include M
end
class S < C
end

obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}

@see Object#instance_of?,Module#===,Object#class...

Object#kind_of?(mod) -> bool (37.0)

オブジェクトが指定されたクラス mod かそのサブクラスのインスタンスであるとき真を返します。

...返します。
Module
#includeだけではなく、Object#extendModule#prependに
よってサブクラスのインスタンスになる場合も含みます。
上記のいずれでもない場合に false を返します。

@param mod クラスやモジュールなど、Moduleかそのサブ...
...です。

//emlist[][ruby]{
module
M
end
class C < Object
include M
end
class S < C
end

obj = S.new
p obj.is_a?(S) # true
p obj.is_a?(C) # true
p obj.is_a?(Object) # true
p obj.is_a?(M) # true
p obj.is_a?(Hash) # false
//}

@see Object#instance_of?,Module#===,Object#class...

絞り込み条件を変える

Object#singleton_methods(inherited_too = true) -> [Symbol] (19.0)

そのオブジェクトに対して定義されている特異メソッド名 (public あるいは protected メソッド) の一覧を返します。

...を返します。

inherited_too が真のときは継承した特異メソッドを含みます。
継承した特異メソッドとは Object#extend によって追加された特異メソッドや、
self がクラスの場合はスーパークラスのクラスメソッド(Classのインスタ...
...rent)

class <<Foo
private; def private_class_foo() end
protected; def protected_class_foo() end
public; def public_class_foo() end
end

module
Bar
private; def private_bar() end
protected; def protected_bar() end
public; def public_bar() end
end

obj = Foo.new
class <<obj...
...p obj.singleton_methods(true)
p Foo.singleton_methods(true) - Object.singleton_methods(true)

#実行結果

[:protected_self, :public_self, :protected_bar, :public_bar]
[:protected_class_foo, :public_class_foo, :protected_class_parent, :public_class_parent]
//}

@see Object#methods,Object#extend...

Fiddle::Importer#bind(signature, *opts) { ... } -> Fiddle::Function (13.0)

Ruby のブロックを C の関数で wrap し、その関数をモジュールに インポートします。

...ェクトを返します。

@param signature 関数の名前とシネグチャ
@param opts オプション


require 'fiddle/import'

module
M
extend
Fiddle::Importer
dlload "libc.so.6"
typealias "size_t", "unsigned long"
extern "int qsort(void*, size_t, size_t, void*)"...

Fiddle::Importer#create_value(type, val = nil) -> Fiddle::CStruct (13.0)

型が type で要素名が "value" であるような構造体を 定義(Fiddle::Importer#struct)し、 その構造体のメモリを Fiddle::CStruct#malloc で確保し、 確保したメモリを保持しているオブジェクトを返します。

...された構造体に
その値を代入します。

@param type 型を表す文字列
@param val 構造体に確保される初期値


require 'fiddle/import'

module
M
extend
Fiddle::Importer
end

v = M.value("int", 32)
p v.value # => 32
v.value = 48
p v.value # => 48...

Fiddle::Importer#sizeof(t) -> Integer (13.0)

C における sizeof(t) の値を返します。

...を渡し、それが表している型を Fiddle が知らなかった
場合に発生します

例:

require 'fiddle/import'

module
M
extend
Fiddle::Importer
Timeval = struct(["long tv_sec", "long tv_usec"])
p sizeof("char") # => 1
p sizeof("void*") # => 8
p size...
<< 1 2 > >>