84件ヒット
[1-84件を表示]
(0.133秒)
クラス
- Module (48)
- TracePoint (12)
モジュール
- Kernel (24)
キーワード
- ancestors (12)
-
const
_ defined? (12) - constants (12)
-
defined
_ class (12) -
try
_ cpp (24)
検索結果
先頭5件
-
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...