るりまサーチ

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

別のキーワード

  1. kernel spawn
  2. kernel exec
  3. kernel system
  4. kernel open
  5. kernel raise

ライブラリ

クラス

モジュール

キーワード

検索結果

Module#include(*mod) -> self (18192.0)

モジュール mod をインクルードします。

...ます。

@param mod Module のインスタンス( Enumerable など)を指定します。

@raise ArgumentError 継承関係が循環してしまうような include を行った場合に発生します。

//emlist[例][ruby]{
module M
end
module M2
include
M
end
module M
include
M2
end
//}...
...実行結果:

-:3:in `append_features': cyclic include detected (ArgumentError)
from -:3:in `include'
from -:3


インクルードとは、指定されたモジュールの定義
(メソッド、定数) を引き継ぐことです。
インクルードは多重継承の代わ...
...りに用いられており、 mix-in とも呼びます。

//emlist[例][ruby]{
class C
include
FileTest
include
Math
end

p
C.ancestors

# => [C, Math, FileTest, Object, Kernel]
//}

モジュールの機能追加は、クラスの継承関係の間にそのモジュールが挿入
される...

Kernel#try_cpp(src, opt = "", *opts) -> bool (15107.0)

C プログラムのソースコード src をプリプロセスします。

...す。

$CPPFLAGS, $CFLAGS の値もプリプロセッサにコマンドライン引数
として渡します。

このメソッドはヘッダファイルの存在チェックなどに使用します。

@param src C プログラムのソースコードを指定します。

@param opt プリプ...
...イン引数として渡す値を指定します。

@return 問題なくプリプロセスできたら true を返します。
プリプロセスに失敗したら false を返します。

例:

require 'mkmf'
if try_cpp("#include <stdio.h>")
$stderr.puts "stdio.h exists"
end...

Kernel#try_cpp(src, opt = "", *opts) { ... } -> bool (15107.0)

C プログラムのソースコード src をプリプロセスします。

...す。

$CPPFLAGS, $CFLAGS の値もプリプロセッサにコマンドライン引数
として渡します。

このメソッドはヘッダファイルの存在チェックなどに使用します。

@param src C プログラムのソースコードを指定します。

@param opt プリプ...
...イン引数として渡す値を指定します。

@return 問題なくプリプロセスできたら true を返します。
プリプロセスに失敗したら false を返します。

例:

require 'mkmf'
if try_cpp("#include <stdio.h>")
$stderr.puts "stdio.h exists"
end...

TracePoint#defined_class -> Class | module (3043.0)

メソッドを定義したクラスかモジュールを返します。

...Point.new(:call) do |tp|
p
tp.defined_class # => C
end.enable do
C.new.foo
end
//}

メソッドがモジュールで定義されていた場合も(include に関係なく)モジュー
ルを返します。

//emlist[例][ruby]{
module M; def foo; end; end
class C; include M; end;
trace = TraceP...
...oint.new(:call) do |tp|
p
tp.defined_class # => M
end.enable do
C.new.foo
end
//}

[注意] 特異メソッドを実行した場合は TracePoint#defined_class は特異クラ
スを返します。また、Kernel.#set_trace_func の 6 番目のブロックパ
ラメータは特異クラスでは...
...く元のクラスを返します。

//emlist[例][ruby]{
class C; def self.foo; end; end
trace = TracePoint.new(:call) do |tp|
p
tp.defined_class # => #<Class:C>
end.enable do
C.foo
end
//}

Kernel
.#set_trace_func と TracePoint の上記の差分に注意して
ください。

@see 50864...

Module#const_defined?(name, inherit = true) -> bool (61.0)

モジュールに name で指定される名前の定数が定義されている時真 を返します。

...クラスや include したモジュールで定義された定数を検索対象
にするかどうかは第二引数で制御することができます。

@param name String, Symbol で指定される定数名。

@param inherit false を指定するとスーパークラスや include したモ...
...例][ruby]{
module Kernel
FOO = 1
end

# Object は include したモジュールの定数に対しても
# true を返す
p
Object.const_defined?(:FOO) # => true

module Bar
BAR = 1
end
class Object
include
Bar
end
# ユーザ定義のモジュールに対しても同様
p
Object.const_defi...
...ned?(:BAR) # => true

class Baz
include
Bar
end
# Object 以外でも同様になった
# 第二引数のデフォルト値が true であるため
p
Baz.const_defined?(:BAR) # => true

# 第二引数を false にした場合
p
Baz.const_defined?(:BAR, false) # => false
//}...

絞り込み条件を変える

Module#constants(inherit = true) -> [Symbol] (43.0)

そのモジュール(またはクラス)で定義されている定数名の配列を返します。

...ません。

@param inherit true を指定するとスーパークラスや include したモジュールで
定義された定数が対象にはなります。false を指定した場合 対象にはなりません。

@see Module.constants, Kernel.#local_variables, Kernel.#global_variables...
...nd
class Bar
BAR = 1

# Bar は BAR を含む
p
constants # => [:BAR]
# 出力に FOO は含まれない
p
Module.constants - $clist # => [:BAR, :Bar, :Foo]
class Baz
# Baz は定数を含まない
p
constants # => []

#...
...ネストしたクラスでは、外側のクラスで定義した定数は
# 参照可能なので、BAR は、Module.constants には含まれる
# (クラス Baz も Bar の定数なので同様)
p
Module.constants - $clist # => [:BAR, :Baz, :Foo, :Bar]
end
end
//}...

Module#ancestors -> [Class, Module] (37.0)

クラス、モジュールのスーパークラスとインクルードしているモジュール を優先順位順に配列に格納して返します。

...先順位順に配列に格納して返します。

//emlist[例][ruby]{
module Foo
end
class Bar
include
Foo
end
class Baz < Bar
p
ancestors
p
included_modules
p
superclass
end
# => [Baz, Bar, Foo, Object, Kernel, BasicObject]
# => [Foo, Kernel]
# => Bar
//}

@see Module#included_modules...