ライブラリ
- ビルトイン (55)
- bigdecimal (1)
-
irb
/ cmd / help (1) -
irb
/ cmd / subirb (1) -
irb
/ context (2) -
irb
/ inspector (1) -
json
/ add / exception (1) - mkmf (6)
-
net
/ http (1) -
net
/ smtp (2) -
rake
/ rdoctask (3) - resolv (3)
- rss (6)
- socket (5)
- timeout (1)
クラス
- BigDecimal (1)
- Bignum (1)
-
CGI
:: Cookie (2) - Exception (3)
-
IRB
:: Context (1) -
IRB
:: ExtendCommand :: Help (1) -
IRB
:: ExtendCommand :: IrbCommand (1) -
IRB
:: Inspector (1) - Integer (1)
- Module (2)
- NameError (2)
-
Net
:: SMTP (2) - NoMethodError (1)
- Numeric (1)
- Object (1)
- Proc (2)
-
RDoc
:: Options (2) -
RSS
:: Maker :: ChannelBase :: CategoriesBase :: CategoryBase (2) -
RSS
:: Rss :: Channel :: Cloud (2) -
RSS
:: Rss :: Channel :: Item :: Category (2) -
Rake
:: RDocTask (3) -
Resolv
:: DNS :: Name (1) -
Resolv
:: DNS :: Resource :: DomainName (1) -
RubyVM
:: InstructionSequence (6) - Socket (5)
- Struct (4)
- Thread (5)
-
Thread
:: Backtrace :: Location (3) -
WEBrick
:: Cookie (2)
モジュール
- Kernel (15)
-
Net
:: HTTPHeader (1)
オブジェクト
- main (8)
キーワード
- Context (1)
- DomainError (1)
- DomainName (1)
- Enumerator (1)
- Error (1)
- Fiber (1)
- FloatDomainError (1)
- Location (1)
-
NEWS for Ruby 2
. 0 . 0 (1) -
NEWS for Ruby 2
. 1 . 0 (1) - NameError (1)
- Ruby用語集 (1)
- [] (1)
- args (1)
-
at
_ exit (1) -
backtrace
_ locations (3) -
base
_ label (2) - caller (3)
-
caller
_ locations (2) -
compile
_ file (1) -
def
_ inspector (1) -
define
_ method (2) - disasm (1)
- disassemble (1)
- domain (5)
- domain= (5)
- ehlo (1)
- execute (2)
-
find
_ library (2) - gethostbyname (1)
- gets (1)
-
have
_ library (2) - helo (1)
- include (1)
- inspect (2)
- irb (1)
-
irb
/ completion (1) - label (1)
- logger (1)
- main= (1)
-
main
_ page (1) -
main
_ page= (1) -
main
_ type (1) - name (2)
- new (6)
- open (1)
- pair (1)
- pass (1)
- private (1)
- public (1)
- raise (1)
-
rake
/ rdoctask (1) -
rb
_ thread _ main (1) - rdoc (1)
- readline (1)
- readlines (1)
- refine (1)
- remainder (4)
-
respond
_ to? (1) -
ruby 1
. 6 feature (1) -
ruby 1
. 8 . 3 feature (1) -
ruby 1
. 9 feature (1) -
set
_ backtrace (1) - socketpair (1)
-
subdomain
_ of? (1) -
to
_ a (1) -
to
_ json (1) -
to
_ s (3) -
try
_ link (2) - using (2)
- 正規表現 (1)
検索結果
先頭5件
-
main (114073.0)
-
トップレベルでの self を表すオブジェクトです。
トップレベルでの self を表すオブジェクトです。
main では参照できない事に注意してください。トップレベルで self から参照してください。
トップレベルで定義したメソッドは Object の private インスタンスメソッドと
して定義されます。
//emlist[例: トップレベルで定義したメソッドの確認][ruby]{
basic_private_methods = private_methods(false)
basic_public_methods = public_methods(false)
private def explicit_private_metho... -
main
. inspect -> "main" (63355.0) -
"main" を返します。
"main" を返します。 -
main
. to _ s -> "main" (63355.0) -
"main" を返します。
"main" を返します。 -
main
. define _ method(name) { . . . } -> Symbol (63001.0) -
インスタンスメソッド name を Object に定義します。
インスタンスメソッド name を Object に定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。
@param name String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブ... -
main
. define _ method(name , method) -> Symbol (63001.0) -
インスタンスメソッド name を Object に定義します。
インスタンスメソッド name を Object に定義します。
ブロックを与えた場合、定義したメソッドの実行時にブロックが
Object インスタンスの上で BasicObject#instance_eval されます。
@param name String または Symbol を指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
@raise TypeError method に同じクラス、サブ... -
main
. include(*modules) -> self (63001.0) -
引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。
引数 modules で指定したモジュールを後ろから順番に Object にインクルードします。
@param modules Module のインスタンス( Enumerable など)を指定します。
@raise ArgumentError 継承関係が循環してしまうような include を行った場
合に発生します。
//emlist[例:][ruby]{
include Math
hypot(3, 4) # => 5.0
//}
@see Module#include -
main
. private(*name) -> self (63001.0) -
メソッドを private に設定します。
メソッドを private に設定します。
引数が与えられた時には引数によって指定されたメソッドを private に
設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドを関数形式でだけ呼び出せるように(private)設定します。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
@see Module#private -
main
. public(*name) -> self (63001.0) -
メソッドを public に設定します。
メソッドを public に設定します。
引数なしのときは今後このクラスまたはモジュール定義内で新規に定義さ
れるメソッドをどんな形式でも呼び出せるように(public)設定します。
引数が与えられた時には引数によって指定されたメソッドを public に設
定します。
@param name 0 個以上の String または Symbol を指定します。
@raise NameError 存在しないメソッド名を指定した場合に発生します。
@see Module#public -
main
. using(module) -> self (63001.0) -
引数で指定したモジュールで定義された拡張を有効にします。
引数で指定したモジュールで定義された拡張を有効にします。
有効にした拡張の有効範囲については以下を参照してください。
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope
@param module 有効にするモジュールを指定します。
//emlist[例][ruby]{
module Sloth
refine String do
def downcase
self
end
end
end
"ABC".downcase # => "abc"... -
Thread
. main -> Thread (54322.0) -
メインスレッドを返します。
メインスレッドを返します。
p Thread.main #=> #<Thread:0x4022e6fc run> -
IRB
:: Context # main -> object (54304.0) -
self に設定されたオブジェクトを返します。
self に設定されたオブジェクトを返します。
@see cwws コマンド -
Rake
:: RDocTask # main -> String (54304.0) -
メインとして使用されるファイル名を返します。
メインとして使用されるファイル名を返します。 -
RDoc
:: Options # main _ page -> String | nil (18352.0) -
コマンドライン引数の --main オプションで指定したファイル名、クラス/モ ジュール名を返します。
コマンドライン引数の --main オプションで指定したファイル名、クラス/モ
ジュール名を返します。
指定しなかった場合は nil を返します。 -
RDoc
:: Options # main _ page=(val) (18352.0) -
コマンドライン引数の --main オプションと同様の指定を行います。
コマンドライン引数の --main オプションと同様の指定を行います。
@param val 設定するファイル名、クラス/モジュール名を文字列で指定します。 -
Net
:: HTTPHeader # main _ type -> String|nil (18322.0) -
"text/html" における "text" のようなタイプを表す 文字列を返します。
"text/html" における "text" のようなタイプを表す
文字列を返します。
Content-Type: ヘッダフィールドが存在しない場合には nil を返します。
//emlist[例][ruby]{
require 'net/http'
uri = URI.parse('http://www.example.com/index.html')
res = Net::HTTP.get_response(uri)
res.main_type # => "text"
//} -
Rake
:: RDocTask # main=(filename) (18304.0) -
メインとして使用されるファイル名をセットします。
メインとして使用されるファイル名をセットします。 -
BigDecimal
# remainder(n) -> BigDecimal (18301.0) -
self を n で割った余りを返します。
self を n で割った余りを返します。
@param n self を割る数を指定します。
//emlist[][ruby]{
require 'bigdecimal'
x = BigDecimal((2**100).to_s)
x.remainder(3).to_i # => 1
(-x).remainder(3).to_i # => -1
x.remainder(-3).to_i # => 1
(-x).remainder(-3).to_i # => -1
//}
戻り値は self と同じ符号になります。これは BigDecimal#% とは異な
る点に注意し... -
Bignum
# remainder(other) -> Fixnum | Bignum | Float (18301.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
r の符号は self と同じになります。
@param other self を割る数。
@see Bignum#divmod, Bignum#modulo, Numeric#modulo -
CGI
:: Cookie # domain -> String (18301.0) -
クッキーを適用するドメインを返します。
クッキーを適用するドメインを返します。 -
CGI
:: Cookie # domain=(value) (18301.0) -
クッキーを適用するドメインをセットします。
クッキーを適用するドメインをセットします。
@param value ドメインを指定します。 -
Integer
# remainder(other) -> Numeric (18301.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
r の符号は self と同じになります。
@param other self を割る数。
//emlist[][ruby]{
5.remainder(3) # => 2
-5.remainder(3) # => -2
5.remainder(-3) # => 2
-5.remainder(-3) # => -2
-1234567890987654321.remainder(13731) # => -6966
-1234567890987654321.remainder(13731.24) #... -
Numeric
# remainder(other) -> Numeric (18301.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
ここで、商 q と余り r は、
* self == other * q + r
と
* self > 0 のとき 0 <= r < |other|
* self < 0 のとき -|other| < r <= 0
* q は整数
をみたす数です。r の符号は self と同じになります。
商 q を直接返すメソッドはありません。self.quo(other).truncate がそれに相当します。
@param other 自身を割る数を指定します。
//emlist[例][ruby]{
p 13.... -
RSS
:: Maker :: ChannelBase :: CategoriesBase :: CategoryBase # domain (18301.0) -
@todo
@todo -
RSS
:: Maker :: ChannelBase :: CategoriesBase :: CategoryBase # domain=() (18301.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Cloud # domain (18301.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Cloud # domain= (18301.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Category # domain (18301.0) -
@todo
@todo -
RSS
:: Rss :: Channel :: Item :: Category # domain= (18301.0) -
@todo
@todo -
Resolv
:: DNS :: Name # subdomain _ of?(other) -> bool (18301.0) -
other が self のサブドメインであるかどうかを返します。
other が self のサブドメインであるかどうかを返します。
//emlist[][ruby]{
require "resolv"
domain = Resolv::DNS::Name.create("y.z")
p Resolv::DNS::Name.create("w.x.y.z").subdomain_of?(domain) #=> true
p Resolv::DNS::Name.create("x.y.z").subdomain_of?(domain) #=> true
p Resolv::DNS::Name.create("y.z").subdomain_of?(domai... -
VALUE rb
_ thread _ main(void) (18301.0) -
メインスレッド (プロセスの一番最初に存在するスレッド) を返します。
メインスレッド (プロセスの一番最初に存在するスレッド) を返します。 -
WEBrick
:: Cookie # domain -> String (18301.0) -
ドメイン名を文字列で表すアクセサです。
ドメイン名を文字列で表すアクセサです。
@param value ドメイン名を表す文字列を指定します。 -
WEBrick
:: Cookie # domain=(value) (18301.0) -
ドメイン名を文字列で表すアクセサです。
ドメイン名を文字列で表すアクセサです。
@param value ドメイン名を表す文字列を指定します。 -
FloatDomainError (18001.0)
-
正負の無限大や NaN (Not a Number) を Bignum に変換しようとしたり、 NaN との比較を行ったときに発生します。
正負の無限大や NaN (Not a Number) を Bignum に変換しようとしたり、
NaN との比較を行ったときに発生します。 -
Math
:: DomainError (18001.0) -
数学関数(module Math のモジュール関数)で与えた引数が定義域 に含まれていない場合に発生します。
数学関数(module Math のモジュール関数)で与えた引数が定義域
に含まれていない場合に発生します。 -
Resolv
:: DNS :: Resource :: DomainName (18001.0) -
DNSリソースのドメイン名を表す抽象クラスです。
DNSリソースのドメイン名を表す抽象クラスです。 -
Resolv
:: DNS :: Resource :: DomainName # name -> Resolv :: DNS :: Name (9001.0) -
ドメイン名を返します。
ドメイン名を返します。 -
irb (1135.0)
-
irb は Interactive Ruby の略です。 irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
irb は Interactive Ruby の略です。
irb を使うと、Ruby の式を標準入力から簡単に入力・実行することができます。
=== irb の使い方
Ruby さえ知っていれば irb を使うのは簡単です。
irb コマンドを実行すると、以下のようなプロンプトが表れます。
$ irb
irb(main):001:0>
あとは Ruby の式を入力するだけで、その式が実行され、結果が表示されます。
irb(main):001:0> 1+2
3
irb(main):002:0> class Foo
irb(main):003:1> def f... -
Net
:: SMTP # ehlo(domain) -> Net :: SMTP :: Response (301.0) -
EHLO コマンドを送ります(ESMTP を使います)。
EHLO コマンドを送ります(ESMTP を使います)。
通常は Net::SMTP.start, Net::SMTP#start で EHLO が
送られるため利用する必要はないはずです。
@param domain EHLOで送るドメイン名 -
Net
:: SMTP # helo(domain) -> Net :: SMTP :: Response (301.0) -
HELO コマンドを送ります(標準的な SMTP を使います)。
HELO コマンドを送ります(標準的な SMTP を使います)。
通常は Net::SMTP.start, Net::SMTP#start で HELO が
送られるため利用する必要はないはずです。
@param domain HELOで送るドメイン名 -
Socket
. new(domain , type , protocol=0) -> Socket (301.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Socket
. open(domain , type , protocol=0) -> Socket (301.0) -
新しいソケットを生成します。domain、type、 protocol はインクルードファイルにある定数で指定しま す。ほとんどの定数は Socket::AF_INET のように Socket クラスの定数として定義されています。domain とtype に関しては、"AF_INET", "SOCK_STREAM" のように文字列でも指定できますが、文 字列ですべての機能を指定できる保証はありません。
新しいソケットを生成します。domain、type、
protocol はインクルードファイルにある定数で指定しま
す。ほとんどの定数は Socket::AF_INET のように
Socket クラスの定数として定義されています。domain
とtype に関しては、"AF_INET",
"SOCK_STREAM" のように文字列でも指定できますが、文
字列ですべての機能を指定できる保証はありません。
例えば、IPv4 の TCP ソケットは以下のように生成されます。
require 'socket'
s = Socket.new(Socket::AF_INET, Socket... -
Socket
. pair(domain , type , protocol=0) -> Array (301.0) -
相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。
相互に結合されたソケットのペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。
@param domain Socket.open を参照してください。
@param type Socket.open を参照してください。
@param protocol Socket.open を参照してください。
@see Socket.open -
Socket
. socketpair(domain , type , protocol=0) -> Array (301.0) -
相互に結合されたソケットのペアを含む2要素の配列を返します。 引数の指定は Socket.open と同じです。
相互に結合されたソケットのペアを含む2要素の配列を返します。
引数の指定は Socket.open と同じです。
@param domain Socket.open を参照してください。
@param type Socket.open を参照してください。
@param protocol Socket.open を参照してください。
@see Socket.open -
ruby 1
. 6 feature (253.0) -
ruby 1.6 feature ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン になります。
ruby 1.6 feature
ruby version 1.6 は安定版です。この版での変更はバグ修正がメイン
になります。
((<stable-snapshot|URL:ftp://ftp.netlab.co.jp/pub/lang/ruby/stable-snapshot.tar.gz>)) は、日々更新される安定版の最新ソースです。
== 1.6.8 (2002-12-24) -> stable-snapshot
: 2003-01-22: errno
EAGAIN と EWOULDBLOCK が同じ値のシステムで、EWOULDBLOCK がなくなっ
ていま... -
irb
/ completion (91.0) -
irb の completion 機能を提供するライブラリです。
irb の completion 機能を提供するライブラリです。
=== 使い方
$ irb -r irb/completion
とするか, ~/.irbrc 中に
require "irb/completion"
を入れてください.
irb実行中に require "irb/completion" してもよいです.
irb 実行中に [Tab] を押すとコンプレーションします.
トップレベルで [Tab] を押すとすべての構文要素, クラス,
メソッドの候補がでます. 候補が唯一ならば完全に補完します.
irb(main):001:0> in
in... -
Thread
. pass -> nil (73.0) -
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。
Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end
loop do
Thread.pass
p :main
end
#=>
1
:main
2
:main
3
:main -
rdoc (73.0)
-
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という ドキュメント生成のためのコマンドも含んでいます。
RDoc は Ruby のドキュメント生成を行うためのライブラリです。rdoc という
ドキュメント生成のためのコマンドも含んでいます。
このパッケージは RDoc と Markup というふたつのコンポーネントを含
んでいます。 RDoc とは Ruby のソースファイルに対するドキュメントを生成
するアプリケーションです。 JavaDoc と同様に、ソースを解析し、クラス、モ
ジュール、メソッドの定義を抜き出してきます(include,require もです)。そ
してこれらの内容とその直前に書かれたコメントを併合し、ドキュメントを出
力します(現在は HTML しか出力できませんが、こ... -
Kernel
. # caller(range) -> [String] | nil (55.0) -
start 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。
start 段上の呼び出し元の情報を $@
の形式のバックトレース(文字列の配列)として返します。
トップレベルでは空の配列を返します。caller の戻り値を $@ に代入することで
例外の発生位置を設定できます。
引数で指定した値が範囲外の場合は nil を返します。
@param start long の範囲を超えない正の整数でスタックレベルを指定します。
@param length 取得するスタックの個数を指定します。
@param range 取得したいスタックの範囲を示す Range オブジェクトを指定します。
@see Kernel.#set_trace_func,K... -
Kernel
. # caller(start = 1) -> [String] | nil (55.0) -
start 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。
start 段上の呼び出し元の情報を $@
の形式のバックトレース(文字列の配列)として返します。
トップレベルでは空の配列を返します。caller の戻り値を $@ に代入することで
例外の発生位置を設定できます。
引数で指定した値が範囲外の場合は nil を返します。
@param start long の範囲を超えない正の整数でスタックレベルを指定します。
@param length 取得するスタックの個数を指定します。
@param range 取得したいスタックの範囲を示す Range オブジェクトを指定します。
@see Kernel.#set_trace_func,K... -
Kernel
. # caller(start , length) -> [String] | nil (55.0) -
start 段上の呼び出し元の情報を $@ の形式のバックトレース(文字列の配列)として返します。
start 段上の呼び出し元の情報を $@
の形式のバックトレース(文字列の配列)として返します。
トップレベルでは空の配列を返します。caller の戻り値を $@ に代入することで
例外の発生位置を設定できます。
引数で指定した値が範囲外の場合は nil を返します。
@param start long の範囲を超えない正の整数でスタックレベルを指定します。
@param length 取得するスタックの個数を指定します。
@param range 取得したいスタックの範囲を示す Range オブジェクトを指定します。
@see Kernel.#set_trace_func,K... -
Ruby用語集 (55.0)
-
Ruby用語集 A B C D E F G I J M N O R S Y
Ruby用語集
A B C D E F G I J M N O R S Y
a ka sa ta na ha ma ya ra wa
=== 記号・数字
: %記法
: % notation
「%」記号で始まる多種多様なリテラル記法の総称。
参照:d:spec/literal#percent
: 0 オリジン
: zero-based
番号が 0 から始まること。
例えば、
Array や Vector、Matrix などの要素の番号、
String における文字の位置、
といったものは 0 オリジンである。
: 1 オリジン
: one-based
... -
Socket
. gethostbyname(host) -> Array (55.0) -
ホスト名または IP アドレス(指定方法に関しては lib:socket#host_formatを参照) からホストの情報を返します。
ホスト名または IP アドレス(指定方法に関しては
lib:socket#host_formatを参照)
からホストの情報を返します。
@param host 文字列でホストを指定します。
@return ホスト情報を含んだ4要素の配列を返します。
=== 返り値のホスト情報について
ホスト情報は以下の 4 要素の配列で表現されています。
* ホスト名
* ホストの別名の配列
* ホストのアドレスタイプ (整数定数)
* ホストのアドレス
第四要素のホストのアドレスは、各アドレスタイプに対応する
C のアドレス構造体を pack した文字列として表現されています。
... -
Exception
# backtrace _ locations -> [Thread :: Backtrace :: Location] (37.0) -
バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。
バックトレース情報を返します。Exception#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。
現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。
//emlist[例: test.rb][ruby]{
require "date"
def check_long_month(month)
return if Date.new(2000, month, -1).day == 31
raise "#{month} is not long month"
end
... -
Exception
# set _ backtrace(errinfo) -> nil | String | [String] (37.0) -
バックトレース情報に errinfo を設定し、設定されたバックトレース 情報を返します。
バックトレース情報に errinfo を設定し、設定されたバックトレース
情報を返します。
@param errinfo nil、String あるいは String の配列のいずれかを指定します。
//emlist[例][ruby]{
begin
begin
raise "inner"
rescue
raise "outer"
end
rescue
$!.backtrace # => ["/path/to/test.rb:5:in `rescue in <main>'", "/path/to/test.rb:2:in `<main>'"]
$!.se... -
IRB
:: Context (37.0) -
irb の設定を扱うためのクラスです。
irb の設定を扱うためのクラスです。
irb 中で conf コマンドの戻り値や .irbrc で IRB.conf を操作する事で設定
を変更します。irb の起動後は IRB.conf の内容を更新しても変更の内容は反
映されない事に注意してください。
なお、.irbrc 中に記述できる以下の設定値については、IRB::Context
オブジェクトのメソッドとして操作できません。
: IRB.conf[:AT_EXIT]
irb の終了時(サブ irb を含みません)に本項目に設定された Proc オ
ブジェクトを実行します。ブロック引数には何も渡されません。
デフ... -
IRB
:: ExtendCommand :: Help # execute(*names) -> nil (37.0) -
RI から Ruby のドキュメントを参照します。
RI から Ruby のドキュメントを参照します。
irb(main):001:0> help String#match
...
@param names 参照したいクラス名やメソッド名などを文字列で指定します。
names を指定しなかった場合は、RI を対話的なモードで起動します。メソッド
名などを入力する事でドキュメントの検索が行えます。入力のタブ補完をする
事ができます。また、空行を入力する事で irb のプロンプトに戻る事ができま
す。
irb(main):001:0> help
Enter the method name you want to look... -
Kernel
. # at _ exit { . . . } -> Proc (37.0) -
与えられたブロックをインタプリタ終了時に実行します。
与えられたブロックをインタプリタ終了時に実行します。
at_exitがメソッドである点を除けば、END ブロックによる終了
処理の登録と同等です。登録した処理を取り消すことはできません。
spec/terminateも参照してください。
@return 登録した処理を Proc オブジェクトで返します。
//emlist[例][ruby]{
3.times do |i|
at_exit{puts "at_exit#{i}"}
end
END{puts "END"}
at_exit{puts "at_exit"}
puts "main_end"
#=> main_end
# a... -
Module
# refine(klass) { . . . } -> Module (37.0) -
引数 klass で指定したクラスだけに対して、ブロックで指定した機能を提供で きるモジュールを定義します。定義した機能は Module#refine を使用せずに直 接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。 そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
引数 klass で指定したクラスだけに対して、ブロックで指定した機能を提供で
きるモジュールを定義します。定義した機能は Module#refine を使用せずに直
接 klass に対して変更を行う場合と異なり、限られた範囲のみ有効にできます。
そのため、既存の機能を局所的に修正したい場合などに用いる事ができます。
refinements 機能の詳細については以下を参照してください。
* https://magazine.rubyist.net/articles/0041/0041-200Special-refinement.html
* https://docs.ruby-la... -
NEWS for Ruby 2
. 0 . 0 (37.0) -
NEWS for Ruby 2.0.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.0.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 1.9.3 以降の変更
=== 言語仕様の変更
* キーワード引数を追加しました
* %i, %I をシンボルの配列作成のために追加しました。(%w, %W に似ています)
* デフォルトのソースエンコーディングを US-ASCI... -
NameError
# to _ s -> String (37.0) -
例外オブジェクトを文字列に変換して返します。
例外オブジェクトを文字列に変換して返します。
例:
begin
foobar
rescue NameError => err
p err # => #<NameError: undefined local variable or method `foobar' for main:Object>
p err.to_s # => "undefined local variable or method `foobar' for main:Object"
end -
RubyVM
:: InstructionSequence # label -> String (37.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
RubyVM
:: InstructionSequence # to _ a -> Array (37.0) -
self の情報を 14 要素の配列にして返します。
self の情報を 14 要素の配列にして返します。
命令シーケンスを以下の情報で表します。
: magic
データフォーマットを示す文字列。常に
"YARVInstructionSequence/SimpleDataFormat"。
: major_version
命令シーケンスのメジャーバージョン。
: minor_version
命令シーケンスのマイナーバージョン。
: format_type
データフォーマットを示す数値。常に 1。
: misc
以下の要素から構成される Hash オブジェクト。
:arg_size: メソッド、ブ... -
logger (37.0)
-
ログを記録するためのライブラリです。
ログを記録するためのライブラリです。
=== 説明
6段階のログレベルに分けてログを記録します。
: UNKNOWN
常に記録されるべき不明なエラー
: FATAL
プログラムをクラッシュさせるような制御不可能なエラー
: ERROR
制御可能なエラー
: WARN
警告
: INFO
一般的な情報
: DEBUG
低レベルの情報
全てのメッセージは必ずログレベルを持ちます。また Logger オブジェクトも同じように
ログレベルを持ちます。メッセージのログレベルが Logger オブジェクトのログレベルよりも
低い場合メッセージは記録されません。
普段は I... -
rake
/ rdoctask (37.0) -
ドキュメントを作成するためのタスクを定義します。
ドキュメントを作成するためのタスクを定義します。
以下のタスクを定義します。
: rdoc
RDoc を作成します。
: clobber_rdoc
生成された RDoc のファイルを削除します。
このタスクは clobber タスクにも追加されます。
: rerdoc
既に存在する RDoc が古くなくても RDoc を作成します。
例:
Rake::RDocTask.new do |rd|
rd.main = "README.rdoc"
rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
... -
Enumerator (19.0)
-
each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。 また、外部イテレータとしても使えます。
each 以外のメソッドにも Enumerable の機能を提供するためのラッパークラスです。
また、外部イテレータとしても使えます。
Enumerable モジュールは、 Module#include 先のクラスが持つ
each メソッドを元に様々なメソッドを提供します。
例えば Array#map は Array#each の繰り返しを元にして定義されます。
Enumerator を介することにより String#each_byte のような
異なる名前のイテレータについても each と同様に Enumerable の機能を利用できます。
Enumerator を生成するには Enu... -
Exception
# to _ json(*args) -> String (19.0) -
自身を JSON 形式の文字列に変換して返します。
自身を JSON 形式の文字列に変換して返します。
内部的にはハッシュにデータをセットしてから JSON::Generator::GeneratorMethods::Hash#to_json を呼び出しています。
@param args 引数はそのまま JSON::Generator::GeneratorMethods::Hash#to_json に渡されます。
//emlist[例][ruby]{
require "json/add/core"
begin
0/0
rescue => e
e.to_json # => "{\"json_class\":\"ZeroDivis... -
Fiber (19.0)
-
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。 他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。 Thread と違いユーザレベルスレッドとして実装されています。
ノンプリエンプティブな軽量スレッド(以下ファイバーと呼ぶ)を提供します。
他の言語では coroutine あるいは semicoroutine と呼ばれることもあります。
Thread と違いユーザレベルスレッドとして実装されています。
Thread クラスが表すスレッドと違い、明示的に指定しない限り
ファイバーのコンテキストは切り替わりません。
またファイバーは親子関係を持ちます。Fiber#resume を呼んだファイバーが親になり
呼ばれたファイバーが子になります。親子関係を壊すような遷移(例えば
自分の親の親のファイバーへ切り替えるような処理)はできません。
例外 FiberErr... -
IRB
:: ExtendCommand :: IrbCommand # execute(*obj) -> IRB :: Irb (19.0) -
新しいサブ irb インタプリタを起動します。
新しいサブ irb インタプリタを起動します。
@param obj 新しいサブ irb インタプリタで self にするオブジェクトを指定
します。省略した場合は irb を起動したときの main オブジェク
トを self にします。 -
IRB
:: Inspector . def _ inspector(key , arg = nil) { |v| . . . } -> object (19.0) -
新しい実行結果の出力方式を定義します。
新しい実行結果の出力方式を定義します。
@param key conf.inspect_mode や IRB.conf[:INSPECT_MODE] に指定するキー
オブジェクトを指定します。配列を指定した場合は配列中の要素全
てが対象になります。
@param arg ブロックを指定する場合には、inspect_mode の初期化のための手続
きオブジェクトを指定します。あらかじめ require が必要な場合
などに、proc { require "foo" } といった指定を行います。
... -
Kernel
# find _ library(lib , func , *paths) -> bool (19.0) -
関数 func が定義されたライブラリ lib を探します。
関数 func が定義されたライブラリ lib を探します。
最初はパスを指定せずに探し、
それに失敗したら paths[0] を指定して探し、
それにも失敗したら paths[1] を指定して探し……
というように、リンク可能なライブラリを探索します。
上記の探索でライブラリ lib を発見できた場合は lib を $libs に追加し、
見つかったパスを $LDFLAGS に追加して true を返します。
指定されたすべてのパスを検査してもライブラリ lib が見つからないときは、
変数を変更せず false を返します。
paths を指定しないときは Kernel#have_... -
Kernel
# find _ library(lib , func , *paths) { . . . } -> bool (19.0) -
関数 func が定義されたライブラリ lib を探します。
関数 func が定義されたライブラリ lib を探します。
最初はパスを指定せずに探し、
それに失敗したら paths[0] を指定して探し、
それにも失敗したら paths[1] を指定して探し……
というように、リンク可能なライブラリを探索します。
上記の探索でライブラリ lib を発見できた場合は lib を $libs に追加し、
見つかったパスを $LDFLAGS に追加して true を返します。
指定されたすべてのパスを検査してもライブラリ lib が見つからないときは、
変数を変更せず false を返します。
paths を指定しないときは Kernel#have_... -
Kernel
# have _ library(lib , func = nil , headers = nil) -> bool (19.0) -
ライブラリ lib がシステムに存在し、関数 func が定義されているかどうかをチェックします。 チェックが成功すれば $libs に lib を追加し true を返します。 チェックが失敗したら false を返します。
ライブラリ lib がシステムに存在し、関数 func が定義されているかどうかをチェックします。
チェックが成功すれば $libs に lib を追加し true を返します。
チェックが失敗したら false を返します。
@param lib ライブラリの名前を指定します。
@param func 検査する関数名を指定します。
nil または空文字列のときは、"main" になります。
@param headers 追加のヘッダファイルを指定します。 -
Kernel
# have _ library(lib , func = nil , headers = nil) { . . . } -> bool (19.0) -
ライブラリ lib がシステムに存在し、関数 func が定義されているかどうかをチェックします。 チェックが成功すれば $libs に lib を追加し true を返します。 チェックが失敗したら false を返します。
ライブラリ lib がシステムに存在し、関数 func が定義されているかどうかをチェックします。
チェックが成功すれば $libs に lib を追加し true を返します。
チェックが失敗したら false を返します。
@param lib ライブラリの名前を指定します。
@param func 検査する関数名を指定します。
nil または空文字列のときは、"main" になります。
@param headers 追加のヘッダファイルを指定します。 -
Kernel
# try _ link(src , opt = "" , *options) -> bool (19.0) -
C プログラムのソースコード src をコンパイル、リンクします。
C プログラムのソースコード src をコンパイル、リンクします。
このメソッドは $CFLAGS と $LDFLAGS の値もコンパイラまたはリ
ンカに渡します。
問題なくリンクできたら true を返します。
コンパイルとリンクに失敗したら false を返します。
@param src C プログラムのソースコードを指定します。
@param opt リンカにコマンド引数として渡す値を指定します。
例:
require 'mkmf'
if try_link("int main() { sin(0.0); }", '-lm')
$stderr.puts "si... -
Kernel
# try _ link(src , opt = "" , *options) { . . . } -> bool (19.0) -
C プログラムのソースコード src をコンパイル、リンクします。
C プログラムのソースコード src をコンパイル、リンクします。
このメソッドは $CFLAGS と $LDFLAGS の値もコンパイラまたはリ
ンカに渡します。
問題なくリンクできたら true を返します。
コンパイルとリンクに失敗したら false を返します。
@param src C プログラムのソースコードを指定します。
@param opt リンカにコマンド引数として渡す値を指定します。
例:
require 'mkmf'
if try_link("int main() { sin(0.0); }", '-lm')
$stderr.puts "si... -
Kernel
. # caller _ locations(range) -> [Thread :: Backtrace :: Location] | nil (19.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 (19.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
. # gets(rs = $ / ) -> String | nil (19.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@return ファイルの終り(EOF)に到達した時、 nil を返します。
@raise Errno::EXXX 読み込み... -
Kernel
. # readline(rs = $ / ) -> String (19.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
@raise EOFError readline... -
Kernel
. # readlines(rs = $ / ) -> [String] (19.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 #=> ["... -
Module
# using(module) -> self (19.0) -
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有 効にします。
引数で指定したモジュールで定義された拡張を現在のクラス、モジュールで有
効にします。
有効にした拡張の有効範囲については以下を参照してください。
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope
@param module 有効にするモジュールを指定します。
@see Module#refine, main.using -
NEWS for Ruby 2
. 1 . 0 (19.0) -
NEWS for Ruby 2.1.0 このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
NEWS for Ruby 2.1.0
このドキュメントは前回リリース以降のバグ修正を除くユーザーに影響のある機能の変更のリストです。
それぞれのエントリーは参照情報があるため短いです。
十分な情報と共に書かれた全ての変更のリストは ChangeLog ファイルか bugs.ruby-lang.org の issue を参照してください。
== 2.0.0 以降の変更
=== 言語仕様の変更
* キーワード引数のデフォルト値が省略可能になりました。これらの「必須キーワード引数」は呼び出し時に明示的に与えなければなりません。
* 整数や小数のリテラルの末尾に'r','i','... -
NameError (19.0)
-
未定義のローカル変数や定数を使用したときに発生します。
未定義のローカル変数や定数を使用したときに発生します。
例:
bar
# => NameError: undefined local variable or method `bar' for main:Object -
NameError
# name -> Symbol (19.0) -
この例外オブジェクトを発生させる原因となった 変数や定数、メソッドの名前をシンボルで返します。
この例外オブジェクトを発生させる原因となった
変数や定数、メソッドの名前をシンボルで返します。
例:
begin
foobar
rescue NameError => err
p err # => #<NameError: undefined local variable or method `foobar' for main:Object>
p err.name # => :foobar
end -
NoMethodError
# args -> [object] (19.0) -
メソッド呼び出しに使われた引数を配列で返します。
メソッド呼び出しに使われた引数を配列で返します。
例:
begin
foobar(1,2,3)
rescue NoMethodError
p $!
p $!.name
p $!.args
end
# => #<NoMethodError: undefined method `foobar' for main:Object>
:foobar
[1, 2, 3] -
Object
# respond _ to?(name , include _ all = false) -> bool (19.0) -
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトがメソッド name を持つとき真を返します。
オブジェクトが メソッド name を持つというのは、
オブジェクトが メソッド name に応答できることをいいます。
Windows での Process.fork や GNU/Linux での File.lchmod の
ような NotImplementedError が発生する場合は false を返します。
※ NotImplementedError が発生する場合に false を返すのは
Rubyの組み込みライブラリや標準ライブラリなど、C言語で実装されているメソッドのみです。
Rubyで実装されたメソッドで N... -
Proc
. new -> Proc (19.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと... -
Proc
. new { . . . } -> Proc (19.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと... -
Rake
:: RDocTask # options -> Array (19.0) -
rdoc コマンドに渡すオプションのリストを返します。
rdoc コマンドに渡すオプションのリストを返します。
指定できるオプションは -o, --main, --title, -T 以外です。 -
RubyVM
:: InstructionSequence # base _ label -> String (19.0) -
self が表す命令シーケンスの基本ラベルを返します。
self が表す命令シーケンスの基本ラベルを返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.base_label
# => "<compiled>"
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.rb
def hello
puts "h... -
RubyVM
:: InstructionSequence . compile _ file(file , options = nil) -> RubyVM :: InstructionSequence (19.0) -
引数 file で指定した Ruby のソースコードを元にコンパイル済みの RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 file で指定した Ruby のソースコードを元にコンパイル済みの
RubyVM::InstructionSequence オブジェクトを作成して返します。
RubyVM::InstructionSequence.compile とは異なり、file、path などの
メタデータは自動的に取得します。
@param file ファイル名を文字列で指定します。
@param options コンパイル時のオプションを true、false、Hash オブ
ジェクトのいずれかで指定します。詳細は
RubyVM::Instr... -
RubyVM
:: InstructionSequence . disasm(body) -> String (19.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . disassemble(body) -> String (19.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
Struct
. new(*args) -> Class (19.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Struct
. new(*args) {|subclass| block } -> Class (19.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (19.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
Thread
# backtrace _ locations(start = 0 , length = nil) -> [Thread :: Backtrace :: Location] | nil (19.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
Thread
# raise(error _ type , message , traceback) -> () (19.0) -
自身が表すスレッドで強制的に例外を発生させます。
自身が表すスレッドで強制的に例外を発生させます。
@param error_type Kernel.#raise を参照してください。
@param message Kernel.#raise を参照してください。
@param traceback Kernel.#raise を参照してください。
Thread.new {
sleep 1
Thread.main.raise "foobar"
}
begin
sleep
rescue
p $!, $@
end
=> #<RuntimeError: foobar>
[... -
Thread
:: Backtrace :: Location (19.0) -
Ruby のフレームを表すクラスです。
Ruby のフレームを表すクラスです。
Kernel.#caller_locations から生成されます。
//emlist[例1][ruby]{
# caller_locations.rb
def a(skip)
caller_locations(skip)
end
def b(skip)
a(skip)
end
def c(skip)
b(skip)
end
c(0..2).map do |call|
puts call.to_s
end
//}
例1の実行結果:
caller_locations.rb:2:in `a'
caller_locations... -
Thread
:: Backtrace :: Location # base _ label -> String (19.0) -
self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。
self が表すフレームの基本ラベルを返します。通常、
Thread::Backtrace::Location#label から修飾を取り除いたもので構成
されます。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.base_label
end
# => init...