Ruby 2.3.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール

module Kernel

クラス・モジュールの継承リスト: Kernel
dynamic include: RakeFileUtils (by rake)

要約

全てのクラスから参照できるメソッドを定義しているモジュール。 Object クラスはこのモジュールをインクルードしています。

Object クラスのメソッドは実際にはこのモジュールで定義されています。これはトップレベルでのメソッドの再定義に対応するためです。

モジュール関数

定義 説明
Array(arg) -> Array

引数を配列(Array)に変換した結果を返します。

Complex(r, i = 0) -> Complex
Complex(s) -> Complex

実部が r、虚部が i である Complex クラスのオブジェクトを生成します。

Float(arg) -> Float

引数を浮動小数点数(Float)に変換した結果を返します。

Hash(arg) -> Hash

引数 arg で指定したオブジェクトを to_hash メソッドを呼び出す事で Hash オブジェクトに変換します。nil か [] を指定した場合は空の Hash オブジェクトを返します。

Integer(arg, base = 0) -> Integer

引数を整数(Fixnum,Bignum)に変換した結果を返します。

Rational(x, y = 1) -> Rational

引数を有理数(Rational)に変換した結果を返します。

String(arg) -> String

引数を文字列(String)に変換した結果を返します。

__callee__ -> Symbol | nil

現在のメソッド名を返します。メソッドの外で呼ばれると nil を返します。

__dir__ -> String | nil

現在のソースファイル(__FILE__)のあるディレクトリ名を正規化された絶対パスで返します。シンボリックリンクも解決されます。また、__FILE__ が nil の場合は nil を返します。

__method__ -> Symbol | nil

現在のメソッド名を返します。メソッドの外で呼ばれると nil を返します。

`command` -> String

command を外部コマンドとして実行し、その標準出力を文字列として返します。このメソッドは `command` の形式で呼ばれます。

abort -> ()
abort(message) -> ()

Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。

at_exit { ... } -> Proc

与えられたブロックをインタプリタ終了時に実行します。

autoload(const_name, feature) -> nil

定数 const_name を最初に参照した時に feature を Kernel.#require するように設定します。

autoload?(const_name) -> String | nil

const_name が Kernel.#autoload 設定されているか調べます。

binding -> Binding

変数・メソッドなどの環境情報を含んだ Binding オブジェクトを生成して返します。通常、Kernel.#eval の第二引数として使います。

block_given? -> bool
iterator? -> bool

メソッドにブロックが与えられていれば真を返します。

caller(start = 1) -> [String] | nil
caller(start, length) -> [String] | nil
caller(range) -> [String] | nil

start 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。

caller_locations(start = 1, length = nil) -> [Thread::Backtrace::Location] | nil
caller_locations(range) -> [Thread::Backtrace::Location] | nil

現在のフレームを Thread::Backtrace::Location の配列で返します。引数で指定した値が範囲外の場合は nil を返します。

catch {|tag| .... } -> object
catch(tag) {|tag| .... } -> object

Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。

chomp(rs = $/) -> String

$_.chomp とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。コマンドラインオプションで -p または -n を指定した時のみ定義されます。

chop -> String

$_.chop とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。コマンドラインオプションで -p または -n を指定した時のみ定義されます。

eval(expr) -> object
eval(expr, bind, fname = "(eval)", lineno = 1) -> object

文字列 expr を Ruby プログラムとして評価してその結果を返します。第2引数に Binding オブジェクトを与えた場合、そのオブジェクトを生成したコンテキストで文字列を評価します。

exec(command, options={}) -> ()
exec(env, command, options={}) -> ()

引数で指定されたコマンドを実行します。

exec(program, *args, options={}) -> ()
exec(env, program, *args, options={}) -> ()

引数で指定されたコマンドを実行します。

exit(status = true) -> ()

Rubyプログラムの実行を終了します。status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。デフォルトの終了ステータスは 0(正常終了)です。

exit!(status = false) -> ()

Rubyプログラムの実行を即座に終了します。 status として整数が与えられた場合、その値を Ruby コマンドの終了ステータスとします。デフォルトの終了ステータスは 1 です。

raise -> ()
fail -> ()
raise(message, cause: $!) -> ()
fail(message, cause: $!) -> ()
raise(error_type, message = nil, backtrace = caller(0), cause: $!) -> ()
fail(error_type, message = nil, backtrace = caller(0), cause: $!) -> ()

例外を発生させます。発生した例外は変数 $! に格納されます。また例外が発生した時のスタックトレースは変数 $@ に格納されます。発生した例外は rescue 節で捕捉できます。

fork -> Integer | nil
fork { ... } -> Integer | nil

fork(2) システムコールを使ってプロセスの複製を作ります。親プロセスでは子プロセスのプロセスIDを、子プロセスでは nil を返します。ブロックを指定して呼び出した場合には、生成した子プロセスでブロックを評価します。

sprintf(format, *arg) -> String
format(format, *arg) -> String

format 文字列を C 言語の sprintf と同じように解釈し、引数をフォーマットした文字列を返します。

gets(rs = $/) -> String | nil

ARGFから一行読み込んで、それを返します。行の区切りは引数 rs で指定した文字列になります。

global_variables -> [Symbol]

プログラム中で定義されているグローバル変数(`$'で始まる変数)名の配列を返します。

gsub(pattern, replace) -> String
gsub(pattern) {|matched| ... } -> String
gsub(pattern) -> Enumerator

$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。コマンドラインオプションで -p または -n を指定した時のみ定義されます。

proc { ... } -> Proc
lambda { ... } -> Proc
proc -> Proc
lambda -> Proc

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

load(file, priv = false) -> true

Ruby プログラム file をロードして実行します。再ロード可能です。

local_variables -> [Symbol]

現在のスコープで定義されているローカル変数名の配列を返します。

loop -> Enumerator
loop { ... } -> object | nil

(中断されない限り)永遠にブロックの評価を繰り返します。ブロックが指定されなければ、代わりに Enumerator を返します。

open(file, mode_enc = "r", perm = 0666) -> IO
open(file, mode_enc = "r", perm = 0666) {|io| ... } -> object

file をオープンして、IOFileを含む)クラスのインスタンスを返します。

open(name, mode = 'r', perm = nil, options = {}) -> StringIO | Tempfile | IO
open(name, mode = 'r', perm = nil, options = {}) {|ouri| ...} -> object

name が http:// や ftp:// で始まっている文字列なら URI のリソースを取得した上で StringIO オブジェクトまたは Tempfile オブジェクトとして返します。返されるオブジェクトは OpenURI::Meta モジュールで extend されています。

open-uri
p(*arg) -> object | Array

引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。

print(*arg) -> nil

引数を順に標準出力 $stdout に出力します。引数が与えられない時には変数 $_ の値を出力します。

printf(format, *arg) -> nil
printf(port, format, *arg) -> nil

C 言語の printf と同じように、format に従い引数を文字列に変換して port に出力します。

putc(ch) -> object

文字 ch を 標準出力 $stdout に出力します。

puts(*arg) -> nil

引数と改行を順番に 標準出力 $stdout に出力します。引数がなければ改行のみを出力します。

rand(max = 0) -> Integer | Float
rand(range) -> Integer | Float | nil

擬似乱数を発生させます。

readline(rs = $/) -> String

ARGFから一行読み込んで、それを返します。行の区切りは引数 rs で指定した文字列になります。

readlines(rs = $/) -> [String]

ARGFKernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。行の区切りは引数 rs で指定した文字列になります。

require(feature) -> bool

Ruby ライブラリ feature をロードします。拡張子補完を行い、同じファイルの複数回ロードはしません。

require_relative(relative_feature) -> bool

現在のファイルからの相対パスで require します。

select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil

IO.select と同じです。

set_trace_func(proc) -> Proc

Ruby インタプリタのイベントをトレースする Proc オブジェクトとして指定された proc を登録します。 nil を指定するとトレースがオフになります。

sleep -> Integer
sleep(sec) -> Integer

sec 秒だけプログラムの実行を停止します。

spawn(command, options={}) -> Integer
spawn(env, command, options={}) -> Integer

引数を外部コマンドとして実行しますが、生成した子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

spawn(program, *args) -> Integer
spawn(env, program, *args, options={}) -> Integer

引数を外部コマンドとして実行しますが、生成した子プロセスの終了を待ち合わせません。生成した子プロセスのプロセスIDを返します。

srand -> Integer
srand(seed) -> Integer

Kernel.#randRandom.rand で使用される擬似乱数生成器の種を設定し、古い種を返します。

sub(pattern, replace) -> String
sub(pattern) {|matched| ... } -> String

$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。コマンドラインオプションで -p または -n を指定した時のみ定義されます。

syscall(num, *arg) -> Integer

numで指定された番号のシステムコールを実行します。第2引数以降をシステムコールの引数として渡します。

system(command, options={}) -> bool | nil
system(env, command, options={}) -> bool | nil

引数を外部コマンドとして実行して、成功した時に真を返します。

system(program, *args, options={}) -> bool | nil
system(env, program, *args, options={}) -> bool | nil

引数を外部コマンドとして実行して、成功した時に真を返します。

test(cmd, file) -> bool | Time | Integer | nil

単体のファイルでファイルテストを行います。

test(cmd, file1, file2) -> bool

2ファイル間のファイルテストを行います。

throw(tag, value = nil) -> ()

Kernel.#catchとの組み合わせで大域脱出を行います。 throw は同じ tag を指定した catch のブロックの終わりまでジャンプします。

trace_var(varname, hook) -> nil
trace_var(varname) {|new_val| .... } -> nil
trace_var(varname, hook) -> [String|Proc]

グローバル変数 varname への代入のフックを登録します。

trap(signal, command) -> String | Proc | nil
trap(signal) { ... } -> String | Proc | nil

signal で指定された割り込みにたいするハンドラとして command を登録します。Signal.#trapと同じです。

untrace_var(varname, hook = nil) -> [String|Proc]

グローバル変数 varname に関連付けられたフックを解除します。

warn(*message) -> nil

message を 標準エラー出力 $stderr に出力します。 $VERBOSE フラグ が nil のときは何も出力しません。

特殊変数

定義 説明
$! -> Exception | nil

最後に例外が発生したときの Exception オブジェクトです。該当する例外がないときは nil です。

$" -> [String]
$LOADED_FEATURES -> [String]

Kernel.#require でロードされたファイル名を含む配列です。

$$ -> Integer

現在実行中の Ruby プロセスのプロセス ID です。 Process.#pid と同じです。

$& -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした文字列です。最後のマッチが失敗していた場合には nil となります。

$' -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした部分より後ろの文字列です。最後のマッチが失敗していた場合には nil となります。

$* -> [String]

Rubyスクリプトに与えられた引数を表す配列です。組み込み定数 Object::ARGV の別名です。

$+ -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした中で最後の括弧に対応する部分文字列です。

$, -> String | nil

デフォルトの出力フィールド区切り文字列です。 Array#join で引数を省略した場合と、 Kernel.#print の各引数の間で出力されます。

$/ -> String | nil
$-0 -> String | nil

入力レコード区切りを表す文字列です。 awk の RS 変数のように働きます。

$; -> Regexp | String | nil
$-F -> Regexp | String | nil

String#split で引数を省略した場合の区切り文字です。

$: -> [String]
$LOAD_PATH -> [String]
$-I -> [String]

Rubyライブラリをロードするときの検索パスです。

$KCODE -> nil
$-K -> nil

この特殊変数は何の影響も持たなくなりました。

$-W -> 0 | 1 | 2

コマンドラインオプション -W を指定したとき、そのコマンドライン引数の値が設定されます。

$-a -> bool

自動 split モードを表すフラグです。

$DEBUG -> bool
$-d -> bool

この値が真のときはインタプリタがデバッグモードになります。

$-i -> String | nil

in-place 置換モードで用いられます。

$-l -> bool

コマンドラインオプション -l を指定したとき true に設定されます。この変数には代入できません。

$-p -> bool

コマンドラインオプション -p を指定したとき true に設定されます。この変数には代入できません。

$VERBOSE -> bool | nil
$-v -> bool | nil
$-w -> bool | nil

冗長メッセージフラグです。Rubyインタプリタへのコマンドラインオプション -v でセットされます。

$. -> Integer

いずれかの IO オブジェクトが最後に読んだ行の行番号です。 Object::ARGF などの IO 互換のオブジェクトも $. を更新します。

$0 -> String
$PROGRAM_NAME -> String

現在実行中の Ruby スクリプトの名前を表す文字列です。

$1 -> String | nil
$2 -> String | nil
$3 -> String | nil
$4 -> String | nil
$5 -> String | nil
$6 -> String | nil
$7 -> String | nil
$8 -> String | nil
$9 -> String | nil
$10 -> String | nil
$11 -> String | nil

最後に成功したパターンマッチで n 番目の括弧にマッチした値が格納されます。該当する括弧がなければ nil が入っています。(覚え方: \数字 のようなもの)

$< -> IO

すべての引数または標準入力で構成される仮想ファイルです。定数 Object::ARGF の別名です。

$= -> bool

過去との互換性のために残されていますが、もはや何の意味もありません。

$> -> object
$stdout -> object

標準出力です。

$? -> Process::Status | nil

このスレッドで最後に終了した子プロセスのステータスです。

$@ -> [String] | nil

最後に例外が発生した時のバックトレースを表す配列です。 Kernel.#raise によって設定されます。

$FILENAME -> String

仮想ファイル Object::ARGF で現在読み込み中のファイル名です。 ARGF.class#filename と同じです。

$SAFE -> Integer

カレントスレッドのセーフレベルを表す整数です。

$\ -> String | nil

出力レコード区切りを表す文字列です。 Kernel.#print が最後にこの文字列を出力します。

$_ -> String | nil

最後に Kernel.#gets または Kernel.#readline で読み込んだ文字列です。 EOF に達した場合には、 nil になります。 (覚え方: Perlと同じ)

$` -> String | nil

現在のスコープで最後に成功した正規表現のパターンマッチでマッチした部分より前の文字列です。最後のマッチが失敗していた場合には nil となります。

$stderr -> object

標準エラー出力です。

$stdin -> object

標準入力です。

$~ -> MatchData | nil

現在のスコープで最後に成功したマッチに関する MatchDataオブジェクトです。 Regexp.last_match の別名です。

追加されるメソッド

定義 説明 ライブラリ
$ARGV -> [String]

$* の別名

English
BigDecimal(s) -> BigDecimal
BigDecimal(s, n) -> BigDecimal

引数で指定した値を表す BigDecimal オブジェクトを生成します。

bigdecimal
$CFLAGS -> String

拡張ライブラリをコンパイルするときの C コンパイラのオプションや、ヘッダファイルのディレクトリを指定する文字列です。

mkmf
$CHILD_STATUS -> Process::Status | nil

$? の別名

English
CONFIG -> Hash

RbConfig::MAKEFILE_CONFIG と同じです。

mkmf
$DEFAULT_INPUT -> IO

$< の別名

English
$DEFAULT_OUTPUT -> IO

$> の別名

English
DelegateClass(superclass) -> object

クラス superclass のインスタンスへメソッドを委譲するクラスを定義し、そのクラスを返します。

delegate
Digest(name) -> object

"MD5"や"SHA1"などのダイジェストを示す文字列 name を指定し、対応するダイジェストのクラスを取得します。

digest
$ERROR_INFO -> Exception | nil

$! の別名

English
$ERROR_POSITION -> [String] | nil

$@ の別名

English
$FS -> String | nil
$FIELD_SEPARATOR -> String | nil

$; の別名

English
$IGNORECASE -> bool

過去との互換性のために残されていますが、もはや何の意味もありません。

English
$INPUT_LINE_NUMBER -> Integer
$NR -> Integer

$. の別名

English
$RS -> String | nil
$INPUT_RECORD_SEPARATOR -> String | nil

$/ の別名

English
JSON(object, options = {}) -> object

第一引数に与えられたオブジェクトの種類によって Ruby のオブジェクトか JSON 形式の文字列を返します。

json
$LAST_MATCH_INFO -> MatchData | nil

$~ の別名

English
$LAST_PAREN_MATCH -> String | nil

$+ の別名

English
$LAST_READ_LINE -> String | nil

$_ の別名

English
$LDFLAGS -> String

拡張ライブラリをリンクするときのリンカのオプション、ライブラリファイルのディレクトリを指定する文字列です。

mkmf
$MATCH -> String | nil

$& の別名

English
$OFS -> String | nil
$OUTPUT_FIELD_SEPARATOR -> String | nil

$, の別名

English
$ORS -> String | nil
$OUTPUT_RECORD_SEPARATOR -> String | nil

$\ の別名

English
$PID -> Integer
$PROCESS_ID -> Integer

$$ の別名

English
$POSTMATCH -> String | nil

$' の別名

English
$PREMATCH -> String | nil

$` の別名

English
Pathname(path) -> Pathname

文字列 path を元に Pathname オブジェクトを生成します。

pathname
URI(uri_str) -> object

与えられた URI から該当する URI::Generic のサブクラスのインスタンスを生成して返します。scheme が指定されていない場合は、URI::Generic オブジェクトを返します。

uri
$archdir -> String

マシン固有のライブラリを置くディレクトリです。通常は "/usr/local/lib/ruby/バージョン/arch" です。

mkmf
arg_config(config, default) { ... } -> object | String | true | nil

configure オプション --config の値を返します。

mkmf
callcc {|cont| .... } -> object

継続を作成します。 Continuation を参照してください。

continuation
cc_command(opt = "") -> String

実際にコンパイルする際に使用するコマンドを返します。

mkmf
check_signedness(type, headers = nil, opts = nil) -> "signed" | "unsigned" | nil
check_signedness(type, headers = nil, opts = nil) { ... } -> "signed" | "unsigned" | nil
Returns the signedness of the given +type+.  You may optionally
specify additional +headers+ to search in for the +type+.

If the +type+ is found and is a numeric type, a macro is passed as a
preprocessor constant to the compiler using the +type+ name, in
uppercase, prepended with 'SIGNEDNESS_OF_', followed by the +type+
name, followed by '=X' where 'X' is positive integer if the +type+ is
unsigned, or negative integer if the +type+ is signed.

For example, if size_t is defined as unsigned, then
check_signedness('size_t') would returned +1 and the
SIGNEDNESS_OF_SIZE_T=+1 preprocessor macro would be passed to the
compiler, and SIGNEDNESS_OF_INT=-1 if check_signedness('int') is
done.
mkmf
check_sizeof(type, headers = nil) -> Integer | nil
check_sizeof(type, headers = nil) { ... } -> Integer | nil

与えられた型のサイズを返します。

mkmf
chmod -> ()

ファイルのアクセス権を変更します。

un
convertible_int(type, headers = nil, opts = nil)
convertible_int(type, headers = nil, opts = nil) { ... }
Returns the convertible integer type of the given +type+.  You may
optionally specify additional +headers+ to search in for the +type+.
_Convertible_ means actually same type, or typedefed from same type.

If the +type+ is a integer type and _convertible_ type is found,
following macros are passed as preprocessor constants to the
compiler using the +type+ name, in uppercase.

* 'TYPEOF_', followed by the +type+ name, followed by '=X' where 'X'
  is the found _convertible_ type name.  * 'TYP2NUM' and 'NUM2TYP,
  where 'TYP' is the +type+ name in uppercase with replacing '_t'
  suffix with 'T', followed by '=X' where 'X' is the macro name to
  convert +type+ to +Integer+ object, and vice versa.

For example, if foobar_t is defined as unsigned long, then
convertible_int("foobar_t") would return "unsigned long", and define
macros:

  #define TYPEOF_FOOBAR_T unsigned long
  #define FOOBART2NUM ULONG2NUM
  #define NUM2FOOBART NUM2ULONG
mkmf
cp -> ()

ファイルやディレクトリをコピーします。

un
cpp_command(outfile, opt = "") -> String

実際にプリプロセッサを実行する際に使用するコマンドを返します。

mkmf
create_header(header = "extconf.h") -> String

Kernel#have_func, Kernel#have_header などの検査結果を元に、ヘッダファイルを生成します。

mkmf
create_makefile(target, srcprefix = nil) -> true

@todo

mkmf
create_tmpsrc(src) -> String

与えられた C プログラムのソースコードを一時ファイルに出力して与えられたソースコードを返します。

mkmf
$defs -> [String]

拡張ライブラリをコンパイルするときのマクロ定義を指定する配列です。

mkmf
depend_rules(depend) -> Array

ファイルの依存関係の書かれた depend ファイルの内容を処理します。

mkmf
desc(description) -> String

直後の Rake タスクの説明を登録します。

rake
dir_config(target, idefault = nil, ldefault = nil) -> [String, String]

configure オプション --with-TARGET-dir, --with-TARGET-include, --with-TARGET-lib をユーザが extconf.rb に指定できるようにします。

mkmf
directory(dir) -> ()

与えられたディレクトリを作成するタスクを定義します。

rake
dummy_makefile(srcdir) -> String

ダミーの Makefile を作成します。

mkmf
egrep_cpp(pattern, src, opt = "") -> bool
egrep_cpp(pattern, src, opt = "") { ... } -> bool

C プログラムのソースコード src をプリプロセスし、その結果が正規表現 pattern にマッチするかどうかを判定します。

mkmf
enable_config(config, default) -> bool | String
enable_config(config, default) {|config, default| ... } -> bool | String

configure のオプションを検査します。

mkmf
file(*args) { ... } -> Rake::FileTask

ファイルタスクを定義します。

rake
file_create(*args) { ... } -> Rake::FileCreationTask

ファイルを作成するタスクを定義します。

rake
find_executable(bin, path = nil) -> String | nil

パス path から実行ファイル bin を探します。

mkmf
find_header(header, *paths) -> bool

与えられた paths から header を検索し、見つかった場合は真を返します。そうでない場合は偽を返します。

mkmf
find_library(lib, func, *paths) -> bool
find_library(lib, func, *paths) { ... } -> bool

関数 func が定義されたライブラリ lib を探します。

mkmf
find_type(type, opt, *headers) -> Array
find_type(type, opt, *headers) { ... } -> Array

静的な型 type がシステムに存在するかどうか検査します。

mkmf
gem(gem_name, *version_requirements) -> bool

$LOAD_PATH に Ruby Gem を追加します。

rubygems
have_devel? -> bool

開発環境がインストールされているかどうか検査するために何もしない実行ファイルを作成しようと試みます。成功した場合は、真を返します。失敗した場合は、偽を返します。

mkmf
have_framework(framework) -> bool
have_framework(framework) { ... } -> bool

フレームワーク framework がシステムに存在するかどうか検査します。

mkmf
have_func(func, headers = nil) -> bool
have_func(func, headers = nil) { ... } -> bool

関数 func がシステムに存在するかどうかを検査します。

mkmf
have_header(header, preheaders = nil) -> bool
have_header(header, preheaders = nil) { ... } -> bool

ヘッダファイル header がシステムに存在するかどうか検査します。

mkmf
have_library(lib, func = nil, headers = nil) -> bool
have_library(lib, func = nil, headers = nil) { ... } -> bool

ライブラリ lib がシステムに存在し、関数 func が定義されているかどうかをチェックします。チェックが成功すれば $libs に lib を追加し true を返します。チェックが失敗したら false を返します。

mkmf
have_macro(macro, headers = nil, opt = "") -> bool
have_macro(macro, headers = nil, opt = "") { ... } -> bool

与えられた macro が共通のヘッダファイルか headers に定義されている場合は真を返します。そうでない場合は偽を返します。

mkmf
have_struct_member(type, member, headers = nil) -> bool
have_struct_member(type, member, headers = nil) { ... } -> bool

member というメンバを持つ構造体 type がシステムに存在するかどうか検査します。

mkmf
have_type(type, headers = nil, opt = "") -> bool
have_type(type, headers = nil, opt = "") { ... } -> bool

静的な型 type がシステムに存在するかどうか検査します。

mkmf
have_var(var, headers = nil) -> bool
have_var(var, headers = nil) { ... } -> bool

変数 var がシステムに存在するかどうか検査します。

mkmf
$hdrdir -> String

Ruby のヘッダファイル ruby.h が存在するディレクトリです。通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。

mkmf
help -> ()

ヘルプメッセージを表示します。

un
httpd -> ()

WEBrick HTTP server を起動します。

un
import(*filenames)

分割された Rakefile をインポートします。

rake
install -> ()

ファイルをコピーし、その属性を設定します。

un
install_files(mfile, ifiles, map = nil, srcprefix = nil) -> []

このメソッドは create_makefile, install_rb が使用します。内部用のメソッドです。

mkmf
install_rb(mfile, dest, srcdir = nil) -> Array

このメソッドは create_makefile が使用します。内部用のメソッドです。

mkmf
j(*objects) -> nil

与えられたオブジェクトを JSON 形式の文字列で標準出力に一行で出力します。

json
jj(*objects) -> nil

与えられたオブジェクトを JSON 形式の文字列で標準出力に人間に読みやすく整形して出力します。

json
$libdir -> String

Ruby のライブラリを置くディレクトリです。通常は "/usr/local/lib/ruby/バージョン" です。

mkmf
libpathflag(libpath = $DEFLIBPATH|$LIBPATH) -> String

与えられた libpath を -L 付きの文字列に変換して返します。

mkmf
$libs -> String

拡張ライブラリをリンクするときに一緒にリンクされるライブラリを指定する文字列です。

mkmf
link_command(ldflags, opt = "", libpath = $DEFLIBPATH|$LIBPATH) -> String

実際にリンクする際に使用するコマンドを返します。

mkmf
ln -> ()

ファイルへのリンクを作成します。

un
log_src(src) -> ()

与えられた C プログラムのソースコードをログ出力します。

mkmf
merge_libs(*libs) -> [String]

@todo 使われてない

mkmf
message(format, *arg) -> nil

Kernel.#printf と同じように標準出力にメッセージを出力します。メッセージ出力後すぐに IO#flush します。

mkmf
mkdir -> ()

ディレクトリを作成します。

un
mkmf -> ()

mkmf を使って Makefile を作成します。

un
modified?(target, times) -> Time | nil

target が times の全ての要素よりも新しい場合は target の更新時刻を返します。そうでない場合は nil を返します。target が存在しない場合も nil を返します。

mkmf
multitask(args) { ... } -> Rake::MultiTask

事前タスクを並列実行するタスクを定義します。

rake
mv -> ()

ファイルを移動します (ファイル名を変更します)。

un
namespace(name = nil) { ... } -> Rake::NameSpace

新しい名前空間を作成します。

rake
pp(*obj) -> object

指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。

pp
y(*objects) -> String
psych_y(*objects) -> String

objects を YAML document に変換します。

psych
require(path) -> bool

RubyGems を require すると、Kernel#require が Gem を要求されたときにロードするように置き換えます。

rubygems/custom_require
rm -> ()

ファイルやディレクトリを削除します。

un
rm_f(*files) -> ()

FileUtils.#rm_f のラッパーメソッドです。

mkmf
rm_rf(*files) -> ()

FileUtils.#rm_rf のラッパーメソッドです。

mkmf
rmdir -> ()

空のディレクトリを削除します。

un
rule(*args) {|t| ... } -> Rake::Task

自動的に作成するタスクのためのルールを定義します。

rake
scanf(format) -> Array
scanf(format) {|*ary| ...} -> Array

STDIN.scanf と同じです。 IO#scanfStdin#scanfも参照してください。

scanf
$sitearchdir -> String

サイト固有でかつマシン固有のライブラリを置くディレクトリです。通常は "/usr/local/lib/ruby/site_ruby/バージョン/arch" です。

mkmf
$sitelibdir -> String

サイト固有のライブラリを置くディレクトリです。通常は "/usr/local/lib/ruby/site_ruby/バージョン" です。

mkmf
$srcdir -> String

Ruby インタプリタを make したときのソースディレクトリです。

mkmf
task(*args) { ... } -> Rake::Task

Rake タスクを定義します。

rake
time(msg, width = 25) { ... } -> object

与えられたブロックの実行時間を計測して表示します。

rubygems/timer
timeout(sec) {|i| .... } -> object
timeout(sec, exception_class = nil) {|i| .... } -> object

ブロックを sec 秒の期限付きで実行します。ブロックの実行時間が制限を過ぎたときは例外 Timeout::Error が発生します。

timeout
$topdir -> String

拡張ライブラリを make するためのヘッダファイル、ライブラリ等が存在するディレクトリです。通常は $archdir と同じで、"/usr/local/lib/ruby/バージョン/arch" です。

mkmf
touch -> ()

ファイルのアクセス時刻と修正時刻を現在の時刻に変更します。

un
try_compile(src, opt = "", *opts) -> bool
try_compile(src, opt = "", *opts) { ... } -> bool

与えられた C のソースコードがコンパイルできた場合は真を返します。コンパイルできなかった場合は偽を返します。

mkmf
try_constant(const, headers = nil, opt = "") -> Integer | nil
try_constant(const, headers = nil, opt = "") { ... } -> Integer | nil

定数 const がシステムに存在するかどうか検査します。 Kernel#have_const を使ってください。

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

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

mkmf
try_do(src, command, *opts) -> ()
try_do(src, command, *opts) { ... } -> ()

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

mkmf
try_func(func, libs, headers = nil) -> bool
try_func(func, libs, headers = nil) { ... } -> bool

関数 func がシステムに存在するかどうか検査します。 Kernel#have_func を使ってください。

mkmf
try_link(src, opt = "", *options) -> bool
try_link(src, opt = "", *options) { ... } -> bool

C プログラムのソースコード src をコンパイル、リンクします。

mkmf
try_run(src, opt = "") -> bool | nil
try_run(src, opt = "") { ... } -> bool | nil

与えられたソースコードが、コンパイルやリンクできるかどうか検査します。

mkmf
try_static_assert(expr, headers = nil, opt = "") -> bool
try_static_assert(expr, headers = nil, opt = "") { ... } -> bool

@todo ???

mkmf
try_type(type, headers = nil, opt = "") -> bool
try_type(type, headers = nil, opt = "") { ... } -> bool

Kernel#have_type を使ってください。

mkmf
try_var(var, headers = nil) -> bool
try_var(var, headers = nil) { ... } -> bool

Kernel#have_var を使ってください。

mkmf
wait_writable -> ()

ファイルが書き込み可能になるまで待ちます。

un
with_config(config, default = nil) -> bool | String
with_config(config, default = nil) {|config, default| ... } -> bool | String

configure のオプションを検査します。

mkmf
with_werror(opt, opts = nil) {|opt| ... } -> object
with_werror(opt, opts = nil) {|opt, opts| ... } -> object

@todo 内部用?

mkmf
xmp(exps, bind = nil) -> XMP

引数 exps で指定されたRuby のソースコードとその実行結果を、標準出力に行ごとに交互に表示します。

irb/xmp
xpopen(command, *mode) -> IO
xpopen(command, *mode) { ... } -> object

command を表示してから IO.popen の実行します。

mkmf
xsystem(command, opts = nil) -> ()

Kernel.#system と同じですが、コマンドの出力は(標準出力、標準エラー出力ともに)ログファイルに出力します。ログファイル名は mkmf.log です。

mkmf