モジュール
- FileTest (25)
- Kernel (51)
- Marshal (4)
- Math (3)
- ObjectSpace (10)
-
Process
:: GID (3) -
Process
:: Sys (1) -
Process
:: UID (3)
キーワード
- Complex (2)
- Integer (1)
-
_ _ callee _ _ (1) -
_ _ method _ _ (1) -
_ id2ref (1) - abort (2)
- binding (1)
-
block
_ given? (1) - blockdev? (1)
-
caller
_ locations (2) - catch (2)
- cbrt (1)
- chardev? (1)
-
count
_ objects (1) -
define
_ finalizer (2) - directory? (1)
- dump (2)
-
each
_ object (4) - empty? (1)
- eval (2)
- executable? (1)
-
executable
_ real? (1) - exist? (1)
- exists? (1)
- fail (1)
- file? (1)
- format (1)
-
garbage
_ collect (1) - gets (1)
-
global
_ variables (1) - grpowned? (1)
- gsub (3)
- identical? (1)
- issetugid (1)
- iterator? (1)
- lambda (2)
- load (1)
-
local
_ variables (1) - log (2)
- loop (1)
- open (2)
- owned? (1)
- p (1)
- pipe? (1)
- pp (1)
- printf (2)
- proc (2)
- putc (1)
- raise (1)
-
re
_ exchangeable? (2) - readable? (1)
-
readable
_ real? (1) - readline (1)
- readlines (1)
- require (1)
-
require
_ relative (1) - restore (1)
- setgid? (1)
- setuid? (1)
-
sid
_ available? (2) - socket? (1)
- sprintf (1)
- sticky? (1)
- sub (2)
- switch (2)
- symlink? (1)
- system (4)
- test (2)
-
undefine
_ finalizer (1) -
untrace
_ var (1) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
-
writable
_ real? (1) - zero? (1)
検索結果
先頭5件
-
ObjectSpace
. # each _ object {|object| . . . } -> Integer (51610.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) {|object| . . . } -> Integer (51610.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # count _ objects(result _ hash = {}) -> Hash (51310.0) -
オブジェクトを種類ごとにカウントした結果を Hash として返します。
オブジェクトを種類ごとにカウントした結果を Hash として返します。
このメソッドは C Ruby 以外の Ruby では動かないでしょう。
@param result_hash ハッシュを指定します。与えられたハッシュは上書きして返されます。
これを利用すると測定による影響を避けることができます。
@raise TypeError 引数に Hash 以外を与えた場合、発生します。
//emlist[例][ruby]{
ObjectSpace.count_objects # => {:TOTAL=>10000, :FREE=>3011, :T_... -
ObjectSpace
. # each _ object -> Enumerator (51310.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
ObjectSpace
. # each _ object(klass) -> Enumerator (51310.0) -
指定された klass と Object#kind_of? の関係にある全ての オブジェクトに対して繰り返します。引数が省略された時には全てのオブ ジェクトに対して繰り返します。 繰り返した数を返します。
指定された klass と Object#kind_of? の関係にある全ての
オブジェクトに対して繰り返します。引数が省略された時には全てのオブ
ジェクトに対して繰り返します。
繰り返した数を返します。
ブロックが与えられなかった場合は、
Enumerator オブジェクトを返します。
次のクラスのオブジェクトについては繰り返しません
* Fixnum
* Symbol
* TrueClass
* FalseClass
* NilClass
とくに、klass に Fixnum や Symbol などのクラスを指定した場合は、
何も繰り返さないことになります。
なお、Sy... -
Kernel
. # binding -> Binding (42610.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 (42454.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # lambda { . . . } -> Proc (42454.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
FileTest
. # blockdev?(file) -> bool (42310.0) -
ファイルがブロックスペシャルファイルである時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがブロックスペシャルファイルである時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.blockdev?(file)
}
# /dev/disk0
# /dev/di... -
FileTest
. # executable?(file) -> bool (42310.0) -
ファイルがカレントプロセスにより実行できる時に真を返しま す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスにより実行できる時に真を返しま
す。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
例:
FileTest.executable?('/bin') # => true
FileTest.executable?('/bin/bash') # => true -
FileTest
. # executable _ real?(file) -> bool (42310.0) -
ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスの実ユーザか実グループで実行できる時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("empty.txt", "")
File.chmod(0744, "empty.txt")
FileTest.executable_real?("empty.txt") # => true
File.chmod(0644, "empty.txt")
FileTest.ex... -
FileTest
. # readable?(file) -> bool (42310.0) -
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chmod(0644, "testfile")
FileTest.readable?("testfile") # => true
File.chmod(0200, "testfile")
FileTest.readable?("testfile"... -
FileTest
. # readable _ real?(file) -> bool (42310.0) -
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を
返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@see FileTest.#readable? -
FileTest
. # world _ readable?(path) -> Integer | nil (42310.0) -
path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列を指定します。
m = FileTest.world_readable?("/etc/passwd")
"%o" % m # => "644" -
FileTest
. # world _ writable?(path) -> bool (42310.0) -
path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列を指定します。
m = FileTest.world_writable?("/tmp")
"%o" % m #=> "777" -
FileTest
. # writable?(file) -> bool (42310.0) -
ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスにより書き込み可能である時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("testfile", "test")
File.chmod(0600, "testfile")
FileTest.writable?("testfile") # => true
File.chmod(0400, "testfile")
FileTest.writable?("tes... -
FileTest
. # writable _ real?(file) -> bool (42310.0) -
ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真 を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスの実ユーザか実グループによって書き込み可能である時に真
を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@see FileTest.#writable? -
Kernel
. # abort -> () (42310.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラー出力に出力します。
@param message エラーメッセージ文字列です。
//emlist[][ruby]... -
Kernel
. # abort(message) -> () (42310.0) -
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
Ruby プログラムをエラーメッセージ付きで終了します。終了ステータスは 1 固定です。
このメソッドと Kernel.#exit との違いは、プログラムの終了ステー
タスが 1 (正確にはCレベルの定数 EXIT_FAILURE の値)固定であることと、
エラーメッセージを標準エラー出力 $stderr に出力することです。
引数 message を指定すると SystemExit クラスの
Exception#message に message を設定し
て標準エラー出力に出力します。
@param message エラーメッセージ文字列です。
//emlist[][ruby]... -
Kernel
. # block _ given? -> bool (42310.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] (42310.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 (42310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # gsub(pattern) {|matched| . . . } -> String (42310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # gsub(pattern , replace) -> String (42310.0) -
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.gsub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.gsub を使ってください。
$_.gsub とこのメソッド gsub は以下の点で違いがあります。
* gsub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param pattern 置き換える文字列のパターンを表す文字列か正規表現。
... -
Kernel
. # local _ variables -> [Symbol] (42310.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 (42310.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
Kernel
. # sub(pattern , replace) -> String (42310.0) -
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。 コマンドラインオプションで -p または -n を指定した時のみ定義されます。
$_.sub とほぼ同じですが、置換が発生したときは、$_の内容を置き換える点が異なります。
コマンドラインオプションで -p または -n を指定した時のみ定義されます。
暗号的になりすぎるきらいがあるため、このメソッドの使用は推奨されていません。
今後はより明示的な $_.sub を使ってください。
@raise ArgumentError replace を指定しなかった場合に発生します。
$_.sub とこのメソッド sub は以下の点で違いがあります。
* sub は $_ の値をコピーして、コピーの方を更新し、
$_ に再代入します。
@param patter... -
Math
. # cbrt(x) -> Float (42310.0) -
x の立方根(cubic root)を返します。
x の立方根(cubic root)を返します。
@param x 実数
@raise TypeError xに数値以外を指定した場合に発生します。
@raise RangeError xに実数以外の数値を指定した場合に発生します。
//emlist[例][ruby]{
-9.upto(9) {|x|
p [x, Math.cbrt(x), Math.cbrt(x)**3]
}
# => [-9, -2.0800838230519, -9.0]
# [-8, -2.0, -8.0]
# [-7, -1.91293118277239, -7.0]
# [-6, -1.8... -
ObjectSpace
. # garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (42310.0) -
どこからも参照されなくなったオブジェクトを回収します。 GC.start と同じです。
どこからも参照されなくなったオブジェクトを回収します。
GC.start と同じです。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そうでない場合は true を指定します。
注意: これらのキーワード引数は Ruby の実装やバージョンによって異なりま
す。将来のバージョンとの互換性も保証されませ... -
Process
:: GID . # re _ exchangeable? -> bool (42310.0) -
現在のプラットフォームで Process::GID.#re_exchange が実装されている なら true を返します。そうでない場合に false を返します。
現在のプラットフォームで Process::GID.#re_exchange が実装されている
なら true を返します。そうでない場合に false を返します。 -
Process
:: GID . # sid _ available? -> bool (42310.0) -
現在のプラットフォームが保存グループ ID を持つなら true を返します。 そうでない場合に false を返します。
現在のプラットフォームが保存グループ ID を持つなら true を返します。
そうでない場合に false を返します。
ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存グループ ID を持つものと判定しています。
* setresgid() を持つ
* setegid() を持つ
* _POSIX_SAVED_IDS が真として定義されている -
Process
:: UID . # re _ exchangeable? -> bool (42310.0) -
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。
Process::UID.#re_exchange が実装されているならば true を返します。そうでない場合に false を返します。 -
Process
:: UID . # sid _ available? -> bool (42310.0) -
保存ユーザ ID を持つ環境かどうかを真偽値で返します。 保存ユーザ ID を持つなら true を返します。
保存ユーザ ID を持つ環境かどうかを真偽値で返します。
保存ユーザ ID を持つなら true を返します。
ただし、このメソッドの値には保証がありません。
現在は次の条件のいずれかが満足される場合には
保存ユーザ ID を持つものと判定しています。
* setresuid() を持つ
* seteuid() を持つ
* _POSIX_SAVED_IDS が真として定義されている -
ObjectSpace
. # undefine _ finalizer(obj) -> object (33610.0) -
obj に対するファイナライザをすべて解除します。 obj を返します。
obj に対するファイナライザをすべて解除します。
obj を返します。
@param obj ファイナライザを解除したいオブジェクトを指定します。
//emlist[例][ruby]{
class Sample
def Sample.callback
proc {
puts "finalize"
}
end
def initialize
ObjectSpace.define_finalizer(self, Sample.callback)
end
def undef
ObjectSpace.undefine_final... -
Kernel
. # iterator? -> bool (33310.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{} #=... -
ObjectSpace
. # _ id2ref(id) -> object (33310.0) -
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
オブジェクト ID(BasicObject#__id__)からオブジェクトを得ます。
@param id 取得したいオブジェクトの ID を整数で指定します。
@raise RangeError 対応するオブジェクトが存在しなければ発生します。
//emlist[例][ruby]{
a = "hoge"
p ObjectSpace._id2ref(a.__id__) #=> "hoge"
//} -
ObjectSpace
. # define _ finalizer(obj) {|id| . . . } -> Array (33310.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
ObjectSpace
. # define _ finalizer(obj , proc) -> Array (33310.0) -
obj が解放されるときに実行されるファイナライザ proc を 登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで はなく追加登録されます。固定値 0 と proc を配列にして返します。
obj が解放されるときに実行されるファイナライザ proc を
登録します。同じオブジェクトについて複数回呼ばれたときは置き換えで
はなく追加登録されます。固定値 0 と proc を配列にして返します。
ブロックを指定した場合は、そのブロックがファイナライザになります。
obj の回収時にブロックは obj の ID (BasicObject#__id__)を引数とし
て実行されます。
しかし、後述の問題があるのでブロックでファイナライザを登録するのは難しいでしょう。
@param obj ファイナライザを登録したいオブジェクトを指定します。
@param proc ファイナライザ... -
Kernel
. # proc -> Proc (33154.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # proc { . . . } -> Proc (33154.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトとして返します。呼び出し元のメソッドがブロックなし
で呼ばれると ArgumentError 例外が発生します。
ただし、ブロックを指定しない呼び出しは推奨されていません。呼び出し元のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。
ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tr... -
Kernel
. # format(format , *arg) -> String (24820.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # sprintf(format , *arg) -> String (24820.0) -
format 文字列を C 言語の sprintf と同じように解釈し、 引数をフォーマットした文字列を返します。
format 文字列を C 言語の sprintf と同じように解釈し、
引数をフォーマットした文字列を返します。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@see Kernel.#printf,Time#strftime,Date.strptime
=== sprintf フォーマット
Ruby の sprintf フォーマットは基本的に C 言語の sprintf(3)
のものと同じです。ただし、short や long などの C 特有の型に対する修飾子が
ないこと、2進数の指示子(%b, %B)が存在すること、s... -
Kernel
. # pp(*obj) -> object (24664.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,... -
Math
. # log(x , b) -> Float (24349.0) -
x の対数(logarithm)を返します。
x の対数(logarithm)を返します。
引数 x, b の両方に 0 を指定した場合は Float::NAN を返します。
@param x 正の実数を指定します。
@param b 底を指定します。省略した場合は自然対数(natural logarithm)を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。
@raise DomainError 引数のどちらかに負の数を指定した場合に発生します。
//emlist[例][ru... -
FileTest
. # identical?(file1 , file2) -> bool (24346.0) -
file1 と file2 が同じファイルを指している時に真を返します。 そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
file1 と file2 が同じファイルを指している時に真を返します。
そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ruby 1.8.3 以前ではKernel.#test(?-, file1, file2)を使ってください。
open("a", "w") {}
p File.identical?("a", "a") #=> true
p File.identical?("a", "./a") #=> true
File.link("a", "b")
p File.identical... -
Kernel
. # Integer(arg , base = 0 , exception: true) -> Integer | nil (24346.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 (24346.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Kernel
. # test(cmd , file) -> bool | Time | Integer | nil (24328.0) -
単体のファイルでファイルテストを行います。
単体のファイルでファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 下表に特に明記していないものは、真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?r
ファイルを実効 uid で読むことができる
: ?w
ファイルに実効 uid で書くことができる
: ?x
ファイルを... -
Kernel
. # test(cmd , file1 , file2) -> bool (24313.0) -
2ファイル間のファイルテストを行います。
2ファイル間のファイルテストを行います。
@param cmd 以下に示す文字リテラル、文字列、あるいは同じ文字を表す数値
です。文字列の場合はその先頭の文字だけをコマンドとみなします。
@param file1 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@param file2 テストするファイルのパスを表す文字列か IO オブジェクトを指定します。
@return 真偽値を返します。
以下は cmd として指定できる文字リテラルとその意味です。
: ?=
ファイル1とファイル2の最終更新時刻が等しい
: ?>
フ... -
FileTest
. # chardev?(file) -> bool (24310.0) -
ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがキャラクタスペシャルファイルの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
Dir.glob("/dev/*") { |file|
puts file if FileTest.chardev?(file)
}
# /dev/console
# /dev/tty... -
FileTest
. # directory?(file) -> bool (24310.0) -
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがディレクトリの時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
FileTest.directory?('/etc') # => true
FileTest.directory?('/etc/passwd') # => false
f = File.open('/etc')... -
FileTest
. # empty?(file) -> bool (24310.0) -
ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
ファイルが存在して、そのサイズが 0 である時に真を返します。
そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例:][ruby]{
IO.write("zero.txt", "")
FileTest.zero?("zero.txt") # => true
IO.write("nonzero.txt", "1")
Fil... -
FileTest
. # exist?(file) -> bool (24310.0) -
ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが存在する時に真を返します。そうでない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
FileTest.exist?('/etc/passwd') # => true
FileTest.exist?('/etc') # => true
FileTest.exist?('/etc/no_such_file') # => false... -
FileTest
. # exists?(file) -> bool (24310.0) -
このメソッドは Ruby 2.1 から deprecated です。FileTest.#exist? を使用してください。
このメソッドは Ruby 2.1 から deprecated です。FileTest.#exist? を使用してください。 -
FileTest
. # file?(file) -> bool (24310.0) -
ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが通常ファイルである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
FileTest.file?('/bin/bash') # => true
FileTest.file?('/bin') # => false
FileTest.file?('/no_such_file') ... -
FileTest
. # grpowned?(file) -> bool (24310.0) -
ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルのグループ ID がカレントプロセスの実効グループ ID と等しい時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(-1, Process.gid, "testfile")
FileT... -
FileTest
. # owned?(file) -> bool (24310.0) -
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルのユーザがカレントプロセスの実効ユーザと等しい時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chown(Process.uid, -1, "testfile")
FileTest.owned?(... -
FileTest
. # pipe?(file) -> bool (24310.0) -
指定したファイルがパイプである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
指定したファイルがパイプである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
例:
r, w = IO.pipe
FileTest.pipe?(r) # => true
FileTest.pipe?(w) # => true -
FileTest
. # setgid?(file) -> bool (24310.0) -
ファイルが setgid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setgid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("g+s", "testfile")
FileTest.setgid?("testfile") # => true
FileUtils.chmod("g-s", "... -
FileTest
. # setuid?(file) -> bool (24310.0) -
ファイルが setuid(2) されている時に真を返 します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルが setuid(2) されている時に真を返
します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("u+s", "testfile")
FileTe... -
FileTest
. # socket?(file) -> bool (24310.0) -
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがソケットである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例][ruby]{
require "socket"
IO.write("testfile", "test")
p FileTest.socket?("testfile") ... -
FileTest
. # sticky?(file) -> bool (24310.0) -
ファイルの sticky ビット(chmod(2) 参照)が 立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルの sticky ビット(chmod(2) 参照)が
立っている時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
require 'fileutils'
IO.write("testfile", "")
FileUtils.chmod("o+t", "testfile")
FileTest.sticky?("testfile") # => true
FileUtils.... -
FileTest
. # symlink?(file) -> bool (24310.0) -
ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがシンボリックリンクである時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("testfile", "test")
FileTest.symlink?("testfile") # => false
File.symlink("testfile", "testlink")
FileTest.symlink?("testlink") # => true
//} -
FileTest
. # zero?(file) -> bool (24310.0) -
ファイルが存在して、そのサイズが 0 である時に真を返します。 そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
ファイルが存在して、そのサイズが 0 である時に真を返します。
そうでない場合、あるいはシステムコールに失敗した場合には false を返します。
@param file ファイル名を表す文字列か IO オブジェクトを指定します。
@raise IOError 指定された IO オブジェクト file が既に close されていた場合に発生します。
//emlist[例:][ruby]{
IO.write("zero.txt", "")
FileTest.zero?("zero.txt") # => true
IO.write("nonzero.txt", "1")
Fil... -
Kernel
. # _ _ callee _ _ -> Symbol | nil (24310.0) -
現在のメソッド名を返します。 メソッドの外で呼ばれると nil を返します。
現在のメソッド名を返します。
メソッドの外で呼ばれると 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 (24310.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 (24310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # caller _ locations(start = 1 , length = nil) -> [Thread :: Backtrace :: Location] | nil (24310.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # catch {|tag| . . . . } -> object (24310.0) -
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
ブロックの実行中に tag と同一のオブジェクトを引数とする Kernel.#throw が行われた
場合は、その throw の第二引数を戻り値として、ブロックの実行を終了します。
主にネストしたループから一気に脱出するのに使用します。
引数を省略した場合、タグとなるオブジェクトが内部で生成され、ブロックパラメータ tag に
渡されます。
@param tag タグとなる任意のオブジェクトです。
@return ブロックの返り値か、対応するthrowの第二引数を返り値として返しま... -
Kernel
. # catch(tag) {|tag| . . . . } -> object (24310.0) -
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
Kernel.#throwとの組み合わせで大域脱出を行います。 catch はブロックを実行します。
ブロックの実行中に tag と同一のオブジェクトを引数とする Kernel.#throw が行われた
場合は、その throw の第二引数を戻り値として、ブロックの実行を終了します。
主にネストしたループから一気に脱出するのに使用します。
引数を省略した場合、タグとなるオブジェクトが内部で生成され、ブロックパラメータ tag に
渡されます。
@param tag タグとなる任意のオブジェクトです。
@return ブロックの返り値か、対応するthrowの第二引数を返り値として返しま... -
Kernel
. # eval(expr) -> object (24310.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # eval(expr , bind , fname = "(eval)" , lineno = 1) -> object (24310.0) -
文字列 expr を Ruby プログラムとして評価してその結果を返しま す。第2引数に Binding オブジェクトを与えた場合、 そのオブジェクトを生成したコンテキストで文字列を評価します。
文字列 expr を Ruby プログラムとして評価してその結果を返しま
す。第2引数に
Binding オブジェクトを与えた場合、
そのオブジェクトを生成したコンテキストで文字列を評価します。
expr の中のローカル変数の扱いはブロックの場合と同じです。すなわち、eval
実行前に補足されていた変数は eval 実行後にブロック外に持ち出せます。
fname と lineno が与えられた場合には、ファイル
fname の行番号 lineno から文字列 expr が書かれているかのように
コンパイルされます。スタックトレースの表示などを差し替えることが
できます。
bind によ... -
Kernel
. # fail(error _ type , message = nil , backtrace = caller(0) , cause: $ !) -> () (24310.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # loop { . . . } -> object | nil (24310.0) -
(中断されない限り)永遠にブロックの評価を繰り返します。 ブロックが指定されなければ、代わりに Enumerator を返します。
(中断されない限り)永遠にブロックの評価を繰り返します。
ブロックが指定されなければ、代わりに Enumerator を返します。
//emlist[例][ruby]{
loop do
print "Input: "
line = gets
break if !line or line =~ /^qQ/
# ...
end
//}
与えられたブロック内で StopIteration を Kernel.#raise すると
ループを終了して Enumerator が最後に返した値を返します。
ループを終了させる場合、通常は break を使用してください。
//emlist... -
Kernel
. # p(*arg) -> object | Array (24310.0) -
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数を人間に読みやすい形に整形して改行と順番に標準出力 $stdout に出力します。主にデバッグに使用します。
引数の inspect メソッドの返り値と改行を順番に出力します。つまり以下のコードと同じです。
//emlist[例][ruby]{
print arg[0].inspect, "\n", arg[1].inspect, "\n" #, ...
//}
整形に用いられるObject#inspectは普通に文字列に変換すると
区別がつかなくなるようなクラス間の差異も表現できるように工夫されています。
p に引数を与えずに呼び出した場合は特に何もしません。
@param ... -
Kernel
. # putc(ch) -> object (24310.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: $ !) -> () (24310.0) -
例外を発生させます。 発生した例外は変数 $! に格納されます。また例外が 発生した時のスタックトレースは変数 $@ に格納され ます。発生した例外は rescue 節で捕捉できます。
例外を発生させます。
発生した例外は変数 $! に格納されます。また例外が
発生した時のスタックトレースは変数 $@ に格納され
ます。発生した例外は rescue 節で捕捉できます。
引数無しの場合は、同スレッドの同じブロック内で最後に rescue された
例外オブジェクト ($!) を再発生させます。そのような
例外が存在しないが自身は捕捉されている時には例外 RuntimeError を発生させます。
//emlist[例][ruby]{
begin
open("nonexist")
rescue
raise #=> `open': No such file or d... -
Kernel
. # require(feature) -> bool (24310.0) -
Ruby ライブラリ feature をロードします。拡張子補完を行い、 同じファイルの複数回ロードはしません。
Ruby ライブラリ feature をロードします。拡張子補完を行い、
同じファイルの複数回ロードはしません。
feature が絶対パスのときは feature からロードします。
feature が相対パスのときは組み込み変数 $:
に示されるパスを順番に探し、最初に見付かったファイルを
ロードします。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。
Ruby ライブラリとは Ruby スクリプト (*.rb) か拡張ライブラリ
(*.so,*.o,*... -
Kernel
. # require _ relative(relative _ feature) -> bool (24310.0) -
現在のファイルからの相対パスで require します。
現在のファイルからの相対パスで require します。
require File.expand_path(relative_feature, File.dirname(__FILE__))
とほぼ同じです。
Kernel.#eval などで文字列を評価した場合に、そこから
require_relative を呼出すと必ず失敗します。
@param relative_feature ファイル名の文字列です。
@raise LoadError ロードに失敗した場合に発生します。
@see Kernel.#require
=== require と load のスコープ
ローカル変数... -
Kernel
. # system(command , options={}) -> bool | nil (24310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(env , command , options={}) -> bool | nil (24310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(env , program , *args , options={}) -> bool | nil (24310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Kernel
. # system(program , *args , options={}) -> bool | nil (24310.0) -
引数を外部コマンドとして実行して、成功した時に真を返します。
引数を外部コマンドとして実行して、成功した時に真を返します。
子プロセスが終了ステータス 0 で終了すると成功とみなし true を返します。
それ以外の終了ステータスの場合は false を返します。
コマンドを実行できなかった場合は nil を返します。
options で :exception に true を指定することで、
nil や false を返す代わりに例外を発生するようにできます。
終了ステータスは変数 $? で参照できます。
コマンドを実行することができなかった場合、多くのシェルはステータス
127 を返します。シェルを介さない場合は Ruby の子プロセスがス... -
Marshal
. # dump(obj , limit = -1) -> String (24310.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # dump(obj , port , limit = -1) -> IO (24310.0) -
obj を指定された出力先に再帰的に出力します。
obj を指定された出力先に再帰的に出力します。
ファイルに書き出せないオブジェクトをファイルに書き出そうとすると
例外 TypeError が発生します。
ファイルに書き出せないオブジェクトは以下の通りです。
* 名前のついてない Class/Module オブジェクト。(この場
合は、例外 ArgumentError が発生します。無名クラスについて
は、Module.new を参照。)
* システムがオブジェクトの状態を保持するもの。具体的には以下のイン
スタンス。Dir, File::Stat, IO とそのサブクラス
File, Socket など。... -
Marshal
. # load(port , proc = nil) -> object (24310.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
Marshal
. # restore(port , proc = nil) -> object (24310.0) -
port からマーシャルデータを読み込んで、元のオブジェクトと同 じ状態をもつオブジェクトを生成します。
port からマーシャルデータを読み込んで、元のオブジェクトと同
じ状態をもつオブジェクトを生成します。
proc として手続きオブジェクトが与えられた場合には読み込んだ
オブジェクトを引数にその手続きを呼び出します。
//emlist[例][ruby]{
str = Marshal.dump(["a", 1, 10 ** 10, 1.0, :foo])
p Marshal.load(str, proc {|obj| p obj})
# => "a"
# 1
# 10000000000
# 1.0
# :foo
# ["a", 1, 10000000000... -
Process
:: GID . # switch { . . . } -> object (24310.0) -
実効グループ ID を一時的に変更するために使います。
実効グループ ID を一時的に変更するために使います。
実効グループ ID を実グループ ID に変更します。実効グループ ID と実グループ ID が
等しい場合には、実効グループ ID を保存グループ ID に変更します。
変更前の実効グループ ID を返します。
ブロックが指定された場合、実効グループ ID を実グループ ID へ
変更しブロックを実行します。ブロック終了時に実効グループ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存グループ ID を持たない環境でこのメソッドを実行すると
実グループ ID が変化します。
@raise Errno::E... -
Process
:: Sys . # issetugid -> bool (24310.0) -
システムコールの issetugid() を呼びます。
システムコールの issetugid() を呼びます。
プロセスが setuid もしくは setgid ビットを使って
起動されている場合に真を返します。
@raise NotImplementedError システムコールが現在のプラットフォームで提供されていない場合に発生します。 -
Process
:: UID . # switch { . . . . } -> object (24310.0) -
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を一時的に変更するために使います。
実効ユーザ ID を実ユーザ ID に変更します。実効ユーザ ID と実ユーザ ID が
等しい場合には、実効ユーザ ID を保存ユーザ ID に変更します。
変更前の実効ユーザ ID を返します。
ブロックが指定された場合、実効ユーザ ID を実ユーザ ID へ
変更しブロックを実行します。ブロック終了時に実効ユーザ ID を元の
値に戻します。ブロックの実行結果を返します。
なお、保存ユーザ ID を持たない環境でこのメソッドを実行すると
実ユーザ ID が変化します。
@raise Errno::EPERM 各ユーザ ID ... -
Kernel
. # readlines(rs = $ / ) -> [String] (24172.0) -
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
//emlist[main.rb][ruby]{
ARGV << 'b.txt' << 'b.txt'
p readlines #=> ["... -
Math
. # log(x) -> Float (24049.0) -
x の対数(logarithm)を返します。
x の対数(logarithm)を返します。
引数 x, b の両方に 0 を指定した場合は Float::NAN を返します。
@param x 正の実数を指定します。
@param b 底を指定します。省略した場合は自然対数(natural logarithm)を計算します。
@raise TypeError 引数のどちらかに数値以外を指定した場合に発生します。
@raise RangeError 引数のどちらかに実数以外の数値を指定した場合に発生します。
@raise DomainError 引数のどちらかに負の数を指定した場合に発生します。
//emlist[例][ru... -
Kernel
. # gets(rs = $ / ) -> String | nil (24046.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@return ファイルの終り(EOF)に到達した時、 nil を返します。
@raise Errno::EXXX 読み込み... -
Kernel
. # open(file , mode _ enc = "r" , perm = 0666) -> IO (24046.0) -
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
file をオープンして、IO(Fileを含む)クラスのインスタンスを返します。
ブロックが与えられた場合、指定されたファイルをオープンし、
生成した IO オブジェクトを引数としてブロックを実行します。
ブロックの終了時や例外によりブロックを脱出するとき、
ファイルをクローズします。ブロックを評価した結果を返します。
ファイル名 file が `|' で始まる時には続く文字列をコマンドとして起動し、
コマンドの標準入出力に対してパイプラインを生成します
ファイル名が "|-" である時、open は Ruby の子プロセス
を生成し、その子プロセスとの間のパイプ(IOオブジェクト)を... -
Kernel
. # printf(format , *arg) -> nil (24046.0) -
C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。
C 言語の printf と同じように、format に従い引数を文字列に変
換して port に出力します。
port を省略した場合は標準出力 $stdout に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。
@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@raise ArgumentError port を指定したのに ... -
Kernel
. # printf(port , format , *arg) -> nil (24046.0) -
C 言語の printf と同じように、format に従い引数を文字列に変 換して port に出力します。
C 言語の printf と同じように、format に従い引数を文字列に変
換して port に出力します。
port を省略した場合は標準出力 $stdout に出力します。
引数を 1 つも指定しなければ何もしません。
Ruby における format 文字列の拡張については
Kernel.#sprintfの項を参照してください。
@param port 出力先になるIO のサブクラスのインスタンスです。
@param format フォーマット文字列です。
@param arg フォーマットされる引数です。
@raise ArgumentError port を指定したのに ... -
Kernel
. # readline(rs = $ / ) -> String (24046.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
@raise EOFError readline... -
Kernel
. # untrace _ var(varname , hook = nil) -> [String|Proc] (24046.0) -
グローバル変数 varname に関連付けられたフックを解除します。
グローバル変数 varname に関連付けられたフックを解除します。
hook が指定された場合にはそのフックだけを解除します。
省略するか nil を与えた場合は
varname のフックを全て解除します。
@param varname グローバル変数名を文字列か Symbol で指定します。
@param hook 文字列または Proc オブジェクトです。
@return 解除されたフックの配列を返します。
//emlist[例][ruby]{
trace_var(:$v){|val| print "hookA.#{val.inspect},\n" }
block = proc{... -
Kernel
. # Complex(r , i = 0 , exception: true) -> Complex | nil (24028.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (... -
Kernel
. # Complex(s , exception: true) -> Complex | nil (24028.0) -
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
実部が r、虚部が i である Complex クラスのオブジェクトを生成します。
@param r 生成する複素数の実部。
@param i 生成する複素数の虚部。省略した場合は 0 です。
@param s 生成する複素数を表す文字列。
@param exception false を指定すると、変換できなかった場合、
例外を発生する代わりに nil を返します。
@raise ArgumentError 変換できないオブジェクトを指定した場合に発生します。
//emlist[例][ruby]{
Complex(1) # => (...