別のキーワード
キーワード
-
$ -a (1) -
$ -d (1) -
$ -l (1) -
$ -p (1) -
$ -v (1) -
$ -w (1) -
$ = (1) -
$ > (1) -
$ DEBUG (1) -
$ VERBOSE (1) -
$ stderr (1) -
$ stdin (1) -
$ stdout (1) - Complex (2)
- Integer (1)
-
_ _ callee _ _ (1) -
_ _ method _ _ (1) - abort (2)
- binding (1)
-
block
_ given? (1) -
caller
_ locations (2) - catch (2)
- eval (2)
- fail (1)
- format (1)
- gets (1)
-
global
_ variables (1) - gsub (3)
- iterator? (1)
- lambda (2)
-
local
_ variables (1) - loop (1)
- open (2)
- p (1)
- pp (1)
- printf (2)
- proc (2)
- putc (1)
- raise (1)
- readline (1)
- readlines (1)
- require (1)
-
require
_ relative (1) - sprintf (1)
- sub (2)
- system (4)
- test (2)
-
untrace
_ var (1)
検索結果
先頭5件
-
Kernel
. # binding -> Binding (18610.0) -
変数・メソッドなどの環境情報を含んだ Binding オブジェクトを 生成して返します。通常、Kernel.#eval の第二引数として使います。
...変数・メソッドなどの環境情報を含んだ Binding オブジェクトを
生成して返します。通常、Kernel.#eval の第二引数として使います。
//emlist[例][ruby]{
def foo
a = 1
binding
end
eval("p a", foo) #=> 1
//}
@see Kernel.#eval,Object::TOPLEVEL_BINDING... -
Kernel
. # lambda -> Proc (18454.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、
生成された手......。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになります。
引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で... -
Kernel
. # lambda { . . . } -> Proc (18454.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、
生成された手......。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになります。
引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で... -
Kernel
. # abort -> () (18310.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、......raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # abort(message) -> () (18310.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
...Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、......raise RuntimeError.new
rescue
abort
ensure
puts 'end2...'
end
puts 'end' #実行されない
#(標準出力)
#=> start
# start1...
# end1 with #<SystemExit: error1>
# start2...
# end2...
#終了ステータス:1
#(標準エラー出力)
#=> error1
//}
@see Kernel.#exit,Kernel.#exit!... -
Kernel
. # block _ given? -> bool (18310.0) -
メソッドにブロックが与えられていれば真を返します。
メソッドにブロックが与えられていれば真を返します。
このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、
メソッド内部以外で使っても単に false を返します。
iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないの
で block_given? を使ってください。
//emlist[例][ruby]{
def check
if block_given?
puts "Block is given."
else
puts "Block isn't given."
end
end
check{} #=... -
Kernel
. # global _ variables -> [Symbol] (18310.0) -
プログラム中で定義されているグローバル変数(`$'で始まる変数)名の 配列を返します。
...グラム中で定義されているグローバル変数(`$'で始まる変数)名の
配列を返します。
//emlist[例][ruby]{
p global_variables #=> [:$;, :$-F, :$@, ... ]
//}
@see Kernel.#local_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables... -
Kernel
. # gsub(pattern) -> Enumerator (18310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # gsub(pattern) {|matched| . . . } -> String (18310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # gsub(pattern , replace) -> String (18310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # local _ variables -> [Symbol] (18310.0) -
現在のスコープで定義されているローカル変数名の配列を返します。
...現在のスコープで定義されているローカル変数名の配列を返します。
//emlist[例][ruby]{
yuyu = 0
p local_variables #=> [:yuyu]
//}
@see Kernel.#global_variables,Object#instance_variables,Module.constants,Module#constants,Module#class_variables... -
Kernel
. # sub(pattern) {|matched| . . . } -> String (18310.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
Kernel
. # sub(pattern , replace) -> String (18310.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
Kernel
$ $ VERBOSE -> bool | nil (9610.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ DEBUG -> bool (9310.0) -
この値が真のときはインタプリタがデバッグモードになります。
この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあります。
* 通常時はいずれかのスレッドが例外によって終了しても
他のスレッドは実行を続けますが、デバッグモードでは
いずれかのスレッドが例外によって終了した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_excep... -
Kernel
. # iterator? -> bool (9310.0) -
メソッドにブロックが与えられていれば真を返します。
メソッドにブロックが与えられていれば真を返します。
このメソッドはカレントコンテキストにブロックが与えられているかを調べるので、
メソッド内部以外で使っても単に false を返します。
iterator? は (ブロックが必ずイテレートするとはいえないので)推奨されていないの
で block_given? を使ってください。
//emlist[例][ruby]{
def check
if block_given?
puts "Block is given."
else
puts "Block isn't given."
end
end
check{} #=... -
Kernel
. # proc -> Proc (9154.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、
生成された手......。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになります。
引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で... -
Kernel
. # proc { . . . } -> Proc (9154.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}
===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い
Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成しますが、
生成された手......。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。
Kernel.#proc は Proc.new と同じになります。
引数に & を付けることで手続きオブジェクト化したブロックは、Proc.new で... -
Kernel
. # format(format , *arg) -> String (820.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...トした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)......tf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #=> "-1"
p sprintf("%d", 3.1) #=> "3"
p sprint... -
Kernel
. # sprintf(format , *arg) -> String (820.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
...トした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)......tf("%p", /e+/) #=> "/e+/"
//}
: d
: i
引数の数値を10進表現の整数として出力します。
引数が整数でなければ関数 Kernel.#Integer と同じ規則で整数に
変換されます。
//emlist[][ruby]{
p sprintf("%d", -1) #=> "-1"
p sprintf("%d", 3.1) #=> "3"
p sprint... -
Kernel
. # pp(*obj) -> object (664.0) -
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。 obj それぞれを引数として PP.pp を呼ぶことと同等です。
指定されたオブジェクト obj を標準出力に見やすい形式(プリティプリント)で出力します。
obj それぞれを引数として PP.pp を呼ぶことと同等です。
初回呼び出し時に自動的に pp を require します。
@param obj 表示したいオブジェクトを指定します。
//emlist[例][ruby]{
require 'pp'
b = [1, 2, 3] * 4
a = [b, b]
a << a
pp a
#=> [[1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2, 3],
# [1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2,... -
Kernel
. # Integer(arg , base = 0) -> Integer (346.0) -
引数を整数 (Fixnum,Bignum) に変換した結果を返します。
引数を整数
(Fixnum,Bignum)
に変換した結果を返します。
引数が数値の場合は直接変換し(小数点以下切り落とし)、
文字列の場合は、進数を表す接頭辞を含む整数表現とみなせる文字列のみ
変換します。
数値と文字列以外のオブジェクトに対しては arg.to_int, arg.to_i を
この順に使用して変換します。
@param arg 変換対象のオブジェクトです。
@param base 基数として0か2から36の整数を指定します(引数argに文字列を指
定した場合のみ)。省略するか0を指定した場合はプリフィクスか
ら基数を... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) {|io| . . . } -> object (346.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Kernel
. # test(cmd , file) -> bool | Time | Integer | nil (328.0) -
単体のファイルでファイルテストを行います。
単体のファイルでファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 下表に特に明記していないものは、真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?r
ファイルを実効 uid で読むことができる
: ?w
ファイルに実効 uid で書くことができる
: ?x
ファイルを... -
Kernel
. # test(cmd , file1 , file2) -> bool (313.0) -
2ファイル間のファイルテストを行います。
2ファイル間のファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file1 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@param file2 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?=
ファイル1とファイル2の最終更新時刻が等しい
: ?>
フ... -
Kernel
$ $ -a -> bool (310.0) -
自動 split モードを表すフラグです。
自動 split モードを表すフラグです。
コマンドラインオプション -a を使ったとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -d -> bool (310.0) -
この値が真のときはインタプリタがデバッグモードになります。
この値が真のときはインタプリタがデバッグモードになります。
コマンドラインオプション -d でセットされます。
スクリプトから代入することもできます。
デバッグモードでは、通常モードに比べて以下の違いがあります。
* 通常時はいずれかのスレッドが例外によって終了しても
他のスレッドは実行を続けますが、デバッグモードでは
いずれかのスレッドが例外によって終了した時に
インタプリタ全体が中断されるようになります。
Thread.abort_on_exception を
true にセットするのと同じ効果です。
* Thread.abort_on_excep... -
Kernel
$ $ -l -> bool (310.0) -
コマンドラインオプション -l を指定したとき true に設定されます。 この変数には代入できません。
コマンドラインオプション -l を指定したとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -p -> bool (310.0) -
コマンドラインオプション -p を指定したとき true に設定されます。 この変数には代入できません。
コマンドラインオプション -p を指定したとき true に設定されます。
この変数には代入できません。
この変数はグローバルスコープです。
@see spec/rubycmd -
Kernel
$ $ -v -> bool | nil (310.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ -w -> bool | nil (310.0) -
冗長メッセージフラグです。Rubyインタプリタへの コマンドラインオプション -v でセットされます。
冗長メッセージフラグです。Rubyインタプリタへの
コマンドラインオプション -v でセットされます。
警告レベルは三段階あり、それぞれ以下の通りです。
: nil
警告を出力しない
: false
重要な警告のみ出力 (デフォルト)
: true
すべての警告を出力する
$VERBOSE に nil, false 以外を代入すると値は true になります。
$VERBOSE の値はコマンドラインオプション
-W でも設定できます。
-W0 オプションで nil、
-W1 オプションで false、
-W2, -W オプションで true が設定されます。
-... -
Kernel
$ $ = -> bool (310.0) -
過去との互換性のために残されていますが、もはや何の意味もありません。
過去との互換性のために残されていますが、もはや何の意味もありません。
値は常に false です。代入しても無視されます。
この変数はグローバルスコープです。
//emlist[例][ruby]{
$= = true # => warning: variable $= is no longer effective; ignored
$= # => warning: variable $= is no longer effective
# false
//} -
Kernel
$ $ > -> object (310.0) -
標準出力です。
...標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のフ... -
Kernel
$ $ stderr -> object (310.0) -
標準エラー出力です。
...標準エラー出力です。
Ruby インタプリタが出力するエラーメッセージや
警告メッセージ、Kernel.#warn の出力先となります。
初期値は Object::STDERR です。
$stderr に代入するオブジェクトには
write という名前のメソッドが定義... -
Kernel
$ $ stdin -> object (310.0) -
標準入力です。
...# 入力する
$stdin = STDIN # 元に戻す
//}
ただし、Kernel.#gets など、特定の組み込みメソッドは
$stdin オブジェクトにメソッドを転送して実装されています。
従って、Kernel.#gets などが正しく動作するには、
$stdin オブジェク... -
Kernel
$ $ stdout -> object (310.0) -
標準出力です。
...標準出力です。
組み込み関数 Kernel.#print、Kernel.#puts や
Kernel.#p などのデフォルトの出力先となります。
初期値は Object::STDOUT です。
コマンドラインオプションオプション -i を指定した場合には
読み込み元と同じ名前のフ... -
Kernel
. # _ _ callee _ _ -> Symbol | nil (310.0) -
現在のメソッド名を返します。 メソッドの外で呼ばれると nil を返します。
...//emlist[例][ruby]{
def foo
p __callee__
end
alias :bar :foo
foo # => :foo
bar # => :bar
p __callee__ # => nil
//}
Kernel.#__method__ とは異なり、現在のメソッド名が alias されたメ
ソッドの場合には alias 先のメソッド名を返します。
@see Kernel.#__method__... -
Kernel
. # _ _ method _ _ -> Symbol | nil (310.0) -
現在のメソッド名を返します。 メソッドの外で呼ばれると nil を返します。
現在のメソッド名を返します。
メソッドの外で呼ばれると nil を返します。
//emlist[例][ruby]{
def foo
p __method__
end
alias :bar :foo
foo #=> :foo
bar #=> :foo
p __method__ #=> nil
//}
現在のメソッド名が alias されたメソッドの場合でも alias 元のメソッド名
を返します。 -
Kernel
. # caller _ locations(range) -> [Thread :: Backtrace :: Location] | nil (310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
...(1, 2)
# => ["/Users/user/test.rb:9:in `test2'", "/Users/user/test.rb:13:in `test3'"]
# => [9, 13]
# => ["/Users/user/test.rb", "/Users/user/test.rb"]
test3(2, 1)
# => ["/Users/user/test.rb:13:in `test3'"]
# => [13]
# => ["/Users/user/test.rb"]
//}
@see Thread::Backtrace::Location, Kernel.#caller... -
Kernel
. # caller _ locations(start = 1 , length = nil) -> [Thread :: Backtrace :: Location] | nil (310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
...(1, 2)
# => ["/Users/user/test.rb:9:in `test2'", "/Users/user/test.rb:13:in `test3'"]
# => [9, 13]
# => ["/Users/user/test.rb", "/Users/user/test.rb"]
test3(2, 1)
# => ["/Users/user/test.rb:13:in `test3'"]
# => [13]
# => ["/Users/user/test.rb"]
//}
@see Thread::Backtrace::Location, Kernel.#caller... -
Kernel
. # catch {|tag| . . . . } -> object (310.0) -
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
...
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
ブロックの実行中に tag と同一のオブジェクトを引数とする Kernel.#throw が行われた
場合は、その throw の第二引数を戻り値として、ブロック......@return ブロックの返り値か、対応するthrowの第二引数を返り値として返します。
//emlist[例][ruby]{
result = catch do |tag|
for i in 1..2
for j in 1..2
for k in 1..2
throw tag, k
end
end
end
end
p result #=> 1
//}
@see Kernel.#throw... -
Kernel
. # catch(tag) {|tag| . . . . } -> object (310.0) -
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
...
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
ブロックの実行中に tag と同一のオブジェクトを引数とする Kernel.#throw が行われた
場合は、その throw の第二引数を戻り値として、ブロック......@return ブロックの返り値か、対応するthrowの第二引数を返り値として返します。
//emlist[例][ruby]{
result = catch do |tag|
for i in 1..2
for j in 1..2
for k in 1..2
throw tag, k
end
end
end
end
p result #=> 1
//}
@see Kernel.#throw... -
Kernel
. # eval(expr) -> object (310.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (310.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
...val('a = RUBY_RELEASE_DATE')
p a #=> "2007-03-13"
eval('def fuga;p 777 end')
fuga #=> 777
eval('raise RuntimeError', binding, 'XXX.rb', 4)
#=> XXX.rb:4: RuntimeError (RuntimeError)
# from ..:9
//}
@see Kernel.#binding,Module#module_eval,BasicObject#instance_eval,Object#method,Object#send... -
Kernel
. # fail(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (310.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...します。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@param cause 現在の例外($!)の代わりに Exception#cause に......end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
begin
raise MyException.new
rescue SecurityError
p $! #=> #<SecurityError: SecurityError>
end
//}
@see Kernel.#caller... -
Kernel
. # loop { . . . } -> object | nil (310.0) -
(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。
...by]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}
与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値を返します。
ループを終了させる場合、通常は bre... -
Kernel
. # p(*arg) -> object | Array (310.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
...された引数 arg を返します。複数の引数が指定された場合はそれらを要素とする配列を返します。
//emlist[例][ruby]{
puts "" #=> (空行)
p "" #=> ""
puts 50,"50"
#=> 50
#=> 50
p 50,"50"
#=> 50
#=> "50"
//}
@see Object#inspect,Kernel.#puts,Kernel.#print... -
Kernel
. # putc(ch) -> object (310.0) -
文字 ch を 標準出力 $stdout に出力します。
文字 ch を 標準出力 $stdout に出力します。
ch が数値なら 0 〜 255 の範囲の対応する文字を出力します。
ch が文字列なら、その先頭1文字を出力します。
どちらでもない場合は、ch.to_int で整数に変換を試みます。
@param ch 出力する文字です。数または文字列で指定します。
@return ch を返します
@raise RangeError Bignum を引数にした場合に発生します。
@raise IOError 標準出力が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生します。
@... -
Kernel
. # raise(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (310.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
...します。
@param message 例外のメッセージとなる文字列です。
@param backtrace 例外発生時のスタックトレースで、Kernel.#caller の戻り値と同じ
形式で指定しなければいけません。
@param cause 現在の例外($!)の代わりに Exception#cause に......end
foo(4) #=> in method.in rescue.in method.in else.in ensure.
//}
//emlist[例3][ruby]{
class MyException
def exception(mesg=nil)
SecurityError.new(mesg)
end
end
begin
raise MyException.new
rescue SecurityError
p $! #=> #<SecurityError: SecurityError>
end
//}
@see Kernel.#caller... -
Kernel
. # require(feature) -> bool (310.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
...(/prime/).size # => 0
require "prime" # => true
$LOADED_FEATURES.grep(/prime/).size # => 1
require "prime" # => false
begin
require "invalid"
rescue LoadError => e
e.message # => "cannot load such file -- invalid"
end
//}
@see Kernel.#load,Kernel.#autoload,Kernel.#require_relative... -
Kernel
. # require _ relative(relative _ feature) -> bool (310.0) -
現在のファイルからの相対パスで require します。
...じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== r......ラリのローカル変数を
ロード元のスクリプトから直接取得することはできません。
このスコープの扱い方はKernel.#loadでも同様です。
//emlist[例][ruby]{
# ---------- some.rb -----------
$a = 1
@a = 1
A = 1
a = 1
# ---------- end some.rb -------
requi... -
Kernel
. # system(command , options={}) -> bool | nil (310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
//emlist[シェル経由でコマンドを実行][ruby]{
system("echo *") # => true
# fileA fileB fileC ...
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # system(env , command , options={}) -> bool | nil (310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...文字列で指定します。
@param env 更新する環境変数を表す Hash
@param options オプションパラメータ Hash
//emlist[シェル経由でコマンドを実行][ruby]{
system("echo *") # => true
# fileA fileB fileC ...
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...umask
* 子プロセスでのリダイレクト
などを変更できます。環境変数のクリアなども指定できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも......s オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
//emlist[インタプリタから直接コマンドを実行][ruby]{
system("echo", "*") # => true
# *
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # system(program , *args , options={}) -> bool | nil (310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
...umask
* 子プロセスでのリダイレクト
などを変更できます。環境変数のクリアなども指定できます。
詳しくは Kernel.#spawn を参照してください。
=== 引数の解釈
この形式で呼び出した場合、空白や shell のメタキャラクタも......s オプションパラメータ Hash
@raise ArgumentError 第一引数が配列かつ要素数が 2 でない場合に発生します。
//emlist[インタプリタから直接コマンドを実行][ruby]{
system("echo", "*") # => true
# *
//}
@see Kernel.#`,Kernel.#spawn,Kernel.#exec,system(3)... -
Kernel
. # readlines(rs = $ / ) -> [String] (172.0) -
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
...ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続......s("") #=> ["hello\nit\n\n", "common\n", "hello\nit\n\n", "common\n"]
ARGV << 'b.txt' << 'b.txt'
p readlines('it') #=> ["hello\nit", "\n\ncommon\n", "hello\nit", "\n\ncommon\n"]
p readlines #=> []
//}
//emlist[b.txt][ruby]{
hello
it
common
//}
@see $/,ARGF,Kernel.#gets, Kernel.#readline... -
Kernel
. # gets(rs = $ / ) -> String | nil (46.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
...mmon
//}
//emlist[c.txt][ruby]{
ARGF
# スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
# みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
//}
@see $/,ARGF,Kernel.#readlines,Kernel.#readline... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) -> IO (46.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Kernel
. # printf(format , *arg) -> nil (46.0) -
C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。
...out に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。
@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フ......011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8) #=> " hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8) #=> "hello -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23) #=> "+1.23: 1.23:1.23"
printf("%u", -123) #=> "..4294967173"
//}
@see Kernel.#sprintf,IO#printf... -
Kernel
. # printf(port , format , *arg) -> nil (46.0) -
C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。
...out に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。
@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フ......011 ' 123'"
printf("%1$*2$s %2$d %1$s", "hello", 8) #=> " hello 8 hello"
printf("%1$*2$s %2$d", "hello", -8) #=> "hello -8"
printf("%+g:% g:%-g", 1.23, 1.23, 1.23) #=> "+1.23: 1.23:1.23"
printf("%u", -123) #=> "..4294967173"
//}
@see Kernel.#sprintf,IO#printf... -
Kernel
. # readline(rs = $ / ) -> String (46.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
...t ---
hello
it
common
# --- c.txt ---
ARGF
# スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
# みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
//}
@see $/,ARGF,Kernel.#readlines,Kernel.#gets... -
Kernel
. # untrace _ var(varname , hook = nil) -> [String|Proc] (46.0) -
グローバル変数 varname に関連付けられたフックを解除します。
...#=> hookB."str",hookA."str",
untrace_var(:$v,block)
$v = 'str' #=> hookA."str",
trace_var(:$v){|val| print "hookC.#{val.inspect}," }
p untrace_var(:$v) #=> [#<Proc:0x02b68f58@..:9>, #<Proc:0x02b6978c@..:3>]
$v = 'str' # なにも出力されない
//}
@see Kernel.#trace_var... -
Kernel
. # Complex(r , i = 0) -> Complex (28.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (1+0i)
Complex(1, 2) # => (1+2i)
Complex('1+1i') # => (1+1i)
Complex('1+1j') #... -
Kernel
. # Complex(s) -> Complex (28.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (1+0i)
Complex(1, 2) # => (1+2i)
Complex('1+1i') # => (1+1i)
Complex('1+1j') #...