るりまサーチ (Ruby 2.1.0)

最速Rubyリファレンスマニュアル検索!
1665件ヒット [1501-1600件を表示] (0.122秒)
トップページ > ライブラリ:ビルトイン[x] > バージョン:2.1.0[x] > 種類:インスタンスメソッド[x]

モジュール

キーワード

検索結果

<< < ... 14 15 16 17 > >>

Symbol#==(other) -> true | false (10.0)

other が同じシンボルの時に真を返します。 そうでない場合は偽を返します。

other が同じシンボルの時に真を返します。
そうでない場合は偽を返します。

@param other 比較対象のシンボルを指定します。

例:

:aaa == :aaa #=> true
:aaa == :xxx #=> false

Symbol#=~(other) -> Integer | nil (10.0)

正規表現 other とのマッチを行います。

正規表現 other とのマッチを行います。

(self.to_s =~ other と同じです。)

@param other 比較対象のシンボルを指定します。

@return マッチが成功すればマッチした位置のインデックスを、そうでなければ nil を返します。

p :foo =~ /foo/ # => 0
p :foobar =~ /bar/ # => 3
p :foo =~ /bar/ # => nil

@see String#=~

Symbol#[](nth) -> String | nil (10.0)

nth 番目の文字を返します。

nth 番目の文字を返します。

(self.to_s[nth] と同じです。)

@param nth 文字の位置を表す整数を指定します。

:foo[0] # => "f"
:foo[1] # => "o"
:foo[2] # => "o"

Symbol#[](nth, len) -> String | nil (10.0)

nth 番目から長さ len の部分文字列を新しく作って返します。

nth 番目から長さ len の部分文字列を新しく作って返します。

(self.to_s[nth, len] と同じです。)

@param nth 文字の位置を表す整数を指定します。
@param len 文字列の長さを指定します。

:foo[1, 2] # => "oo"

Symbol#[](range) -> String | nil (10.0)

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

(self.to_s[range] と同じです。)

@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。

:foo[0..1] # => "fo"

@see String#[] , String#slice

絞り込み条件を変える

Symbol#[](regexp, nth = 0) -> String | nil (10.0)

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。

(self.to_s[regexp, nth] と同じです。)

@param regexp 正規表現を指定します。

@param nth 取得したい正規表現レジスタのインデックスを指定します。

:foobar[/bar/] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 0] # => "barbaz"
:foobarbaz[/(ba.)(ba.)/, 1] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 2] # => "baz"
...

Symbol#[](substr) -> String | nil (10.0)

self が substr を含む場合、一致した文字列を新しく作って返します。

self が substr を含む場合、一致した文字列を新しく作って返します。

(self.to_s[substr] と同じです。)

例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil

Symbol#capitalize -> Symbol (10.0)

シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更した シンボルを返します。

シンボルに対応する文字列の先頭の文字を大文字に、残りを小文字に変更した
シンボルを返します。

(self.to_s.capitalize.intern と同じです。)

:foobar.capitalize #=> :Foobar
:fooBar.capitalize #=> :Foobar
:FOOBAR.capitalize #=> :Foobar
:"foobar--".capitalize # => "Foobar--"

@see String#capitalize

Symbol#casecmp(other) -> -1 | 0 | 1 | nil (10.0)

Symbol#<=> と同様にシンボルに対応する文字列の順序を比較しますが、 アルファベットの大文字小文字の違いを無視します。

Symbol#<=> と同様にシンボルに対応する文字列の順序を比較しますが、
アルファベットの大文字小文字の違いを無視します。


@param other 比較対象のシンボルを指定します。

//emlist[][ruby]{
:aBcDeF.casecmp(:abcde) #=> 1
:aBcDeF.casecmp(:abcdef) #=> 0
:aBcDeF.casecmp(:abcdefg) #=> -1
:abcdef.casecmp(:ABCDEF) #=> 0
:"\u{e4 f6 fc}".casecmp(:"\u{c4 d6 dc}") #=> 1
...

Symbol#downcase -> Symbol (10.0)

大文字を小文字に変換したシンボルを返します。

大文字を小文字に変換したシンボルを返します。

(self.to_s.downcase.intern と同じです。)

:FOO.downcase #=> :foo

@see String#downcase

絞り込み条件を変える

Symbol#empty? -> bool (10.0)

自身が :"" (length が 0 のシンボル)かどうかを返します。

自身が :"" (length が 0 のシンボル)かどうかを返します。

:"".empty? #=> true
:foo.empty? #=> false

@see String#empty?

Symbol#encoding -> Encoding (10.0)

シンボルに対応する文字列のエンコーディング情報を表現した Encoding オブ ジェクトを返します。

シンボルに対応する文字列のエンコーディング情報を表現した Encoding オブ
ジェクトを返します。

例:

# encoding: utf-8

:foo.encoding # => #<Encoding:US-ASCII>
:あかさたな.encoding # => #<Encoding:UTF-8>

@see String#encoding

Symbol#id2name -> String (10.0)

シンボルに対応する文字列を返します。

シンボルに対応する文字列を返します。

逆に、文字列に対応するシンボルを得るには
String#intern を使います。

p :foo.id2name # => "foo"
p :foo.id2name.intern == :foo # => true

@see String#intern

Symbol#inspect -> String (10.0)

自身を人間に読みやすい文字列にして返します。

自身を人間に読みやすい文字列にして返します。

:fred.inspect #=> ":fred"

Symbol#intern -> self (10.0)

self を返します。

self を返します。

例:

:foo.intern # => :foo

@see String#intern

絞り込み条件を変える

Symbol#length -> Integer (10.0)

シンボルに対応する文字列の長さを返します。

シンボルに対応する文字列の長さを返します。

(self.to_s.length と同じです。)

:foo.length #=> 3

@see String#length, String#size

Symbol#match(other) -> Integer | nil (10.0)

正規表現 other とのマッチを行います。

正規表現 other とのマッチを行います。

(self.to_s.match(other) と同じです。)

@param other 比較対象のシンボルを指定します。

@return マッチが成功すればマッチした位置を、そうでなければ nil を返します。

p :foo.match(/foo/) # => 0
p :foobar.match(/bar/) # => 3
p :foo.match(/bar/) # => nil

@see String#match

Symbol#next -> Symbol (10.0)

シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。

シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。

(self.to_s.next.intern と同じです。)

:a.next # => :b
:foo.next # => :fop

@see String#succ

Symbol#size -> Integer (10.0)

シンボルに対応する文字列の長さを返します。

シンボルに対応する文字列の長さを返します。

(self.to_s.length と同じです。)

:foo.length #=> 3

@see String#length, String#size

Symbol#slice(nth) -> String | nil (10.0)

nth 番目の文字を返します。

nth 番目の文字を返します。

(self.to_s[nth] と同じです。)

@param nth 文字の位置を表す整数を指定します。

:foo[0] # => "f"
:foo[1] # => "o"
:foo[2] # => "o"

絞り込み条件を変える

Symbol#slice(nth, len) -> String | nil (10.0)

nth 番目から長さ len の部分文字列を新しく作って返します。

nth 番目から長さ len の部分文字列を新しく作って返します。

(self.to_s[nth, len] と同じです。)

@param nth 文字の位置を表す整数を指定します。
@param len 文字列の長さを指定します。

:foo[1, 2] # => "oo"

Symbol#slice(range) -> String | nil (10.0)

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

rangeで指定したインデックスの範囲に含まれる部分文字列を返します。

(self.to_s[range] と同じです。)

@param range 取得したい文字列の範囲を示す Range オブジェクトを指定します。

:foo[0..1] # => "fo"

@see String#[] , String#slice

Symbol#slice(regexp, nth = 0) -> String | nil (10.0)

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。

正規表現 regexp の nth 番目の括弧にマッチする最初の部分文字列を返します。

(self.to_s[regexp, nth] と同じです。)

@param regexp 正規表現を指定します。

@param nth 取得したい正規表現レジスタのインデックスを指定します。

:foobar[/bar/] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 0] # => "barbaz"
:foobarbaz[/(ba.)(ba.)/, 1] # => "bar"
:foobarbaz[/(ba.)(ba.)/, 2] # => "baz"
...

Symbol#slice(substr) -> String | nil (10.0)

self が substr を含む場合、一致した文字列を新しく作って返します。

self が substr を含む場合、一致した文字列を新しく作って返します。

(self.to_s[substr] と同じです。)

例:
:foobar.slice("foo") # => "foo"
:foobar.slice("baz") # => nil

Symbol#succ -> Symbol (10.0)

シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。

シンボルに対応する文字列の「次の」文字列に対応するシンボルを返します。

(self.to_s.next.intern と同じです。)

:a.next # => :b
:foo.next # => :fop

@see String#succ

絞り込み条件を変える

Symbol#swapcase -> Symbol (10.0)

'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までの アルファベット小文字を大文字に変更したシンボルを返します。

'A' から 'Z' までのアルファベット大文字を小文字に、'a' から 'z' までの
アルファベット小文字を大文字に変更したシンボルを返します。

(self.to_s.swapcase.intern と同じです。)

p :ABCxyz.swapcase # => :abcXYZ
p :Access.swapcase # => :aCCESS

@see String#swapcase

Symbol#to_proc -> Proc (10.0)

self に対応する Proc オブジェクトを返します。

self に対応する Proc オブジェクトを返します。

生成される Proc オブジェクトを呼びだす(Proc#call)と、
Proc#callの第一引数をレシーバとして、 self という名前のメソッドを
残りの引数を渡して呼びだします。


//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//}

//emlist[暗黙に呼ばれる例][ruby]{
# メソッドに & とともにシンボルを渡すと
# to_proc が呼ばれて Proc 化され、
# それがブロックとして渡される...

Symbol#to_s -> String (10.0)

シンボルに対応する文字列を返します。

シンボルに対応する文字列を返します。

逆に、文字列に対応するシンボルを得るには
String#intern を使います。

p :foo.id2name # => "foo"
p :foo.id2name.intern == :foo # => true

@see String#intern

Symbol#to_sym -> self (10.0)

self を返します。

self を返します。

例:

:foo.intern # => :foo

@see String#intern

Symbol#upcase -> Symbol (10.0)

小文字を大文字に変換したシンボルを返します。

小文字を大文字に変換したシンボルを返します。

(self.to_s.upcase.intern と同じです。)

:foo.upcase #=> :FOO

@see String#upcase

絞り込み条件を変える

SystemCallError#errno -> Integer | nil (10.0)

レシーバに対応するシステム依存のエラーコードを返します。

レシーバに対応するシステム依存のエラーコードを返します。

エラーコードを渡さない形式で生成した場合は nil を返します。

begin
raise Errno::ENOENT
rescue Errno::ENOENT => err
p err.errno # => 2
p Errno::ENOENT::Errno # => 2
end

begin
raise SystemCallError, 'message'
rescue SystemCallError => err
p err.e...

SystemExit#status -> Integer (10.0)

例外オブジェクトに保存された終了ステータスを返します。

例外オブジェクトに保存された終了ステータスを返します。

終了ステータスは Kernel.#exit や SystemExit.new などで設定されます。

例:

begin
exit 1
rescue SystemExit => err
p err.status # => 1
end

begin
raise SystemExit.new(1, "dummy exit")
rescue SystemExit => err
p err.status # => 1
end

SystemExit#success? -> bool (10.0)

終了ステータスが正常終了を示す値ならば true を返します。

終了ステータスが正常終了を示す値ならば true を返します。

大半のシステムでは、ステータス 0 が正常終了を表します。

例:

begin
exit true
rescue SystemExit => err
p err.success? # => true
end

begin
exit false
rescue SystemExit => err
p err.success? # => false
end

Thread#[](name) -> object | nil (10.0)

name に対応したスレッドに固有のデータを取り出します。 name に対応するスレッド固有データがなければ nil を返し ます。

name に対応したスレッドに固有のデータを取り出します。
name に対応するスレッド固有データがなければ nil を返し
ます。

@param name スレッド固有データのキーを文字列か Symbol で指定します。

//emlist[例][ruby]{
[
Thread.new { Thread.current["name"] = "A" },
Thread.new { Thread.current[:name] = "B" },
Thread.new { Thread.current["name"] = "C" }
].each do |th|
th.join...

Thread#[]=(name,val) (10.0)

val を name に対応するスレッド固有のデータとして格納します。

val を name に対応するスレッド固有のデータとして格納します。

@param name スレッド固有データのキーを文字列か Symbol で指定します。文字列を指定した場合は String#to_sym によりシンボルに変換されます。

@param val スレッド固有データを指定します。nil を指定するとそのスレッド固有データは削除されます。


@see Thread#[]

絞り込み条件を変える

Thread#abort_on_exception -> bool (10.0)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

真の場合、そのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。

デフォルトは偽です。c:Thread#exceptionを参照してください。

@param newstate 自身を実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.abort_o...

Thread#abort_on_exception=(newstate) (10.0)

真の場合、そのスレッドが例外によって終了した時に、インタプリタ 全体を中断させます。false の場合、あるスレッドで起こった例 外は、Thread#join などで検出されない限りそのスレッ ドだけをなにも警告を出さずに終了させます。

真の場合、そのスレッドが例外によって終了した時に、インタプリタ
全体を中断させます。false の場合、あるスレッドで起こった例
外は、Thread#join などで検出されない限りそのスレッ
ドだけをなにも警告を出さずに終了させます。

デフォルトは偽です。c:Thread#exceptionを参照してください。

@param newstate 自身を実行中に例外発生した場合、インタプリタ全体を終了させるかどうかを true か false で指定します。

//emlist[例][ruby]{
thread = Thread.new { sleep 1 }
thread.abort_o...

Thread#add_trace_func(pr) -> Proc (10.0)

スレッドにトレース用ハンドラを追加します。

スレッドにトレース用ハンドラを追加します。

追加したハンドラを返します。

@param pr トレースハンドラ(Proc オブジェクト)

//emlist[例][ruby]{
th = Thread.new do
class Trace
end
43.to_s
end
th.add_trace_func lambda {|*arg| p arg }
th.join

# => ["line", "example.rb", 4, nil, #<Binding:0x00007f98e107d0d8>, nil]
# => ["c-call", "example.rb", 4, ...

Thread#alive? -> bool (10.0)

スレッドが「生きている」時、true を返します。

スレッドが「生きている」時、true を返します。

例:
thr = Thread.new { }
thr.join # => #<Thread:0x401b3fb0 dead>
Thread.current.alive? # => true
thr.alive? # => false

Thread#status が真を返すなら、このメソッドも真です。

@see Thread#status, Thread#stop?

Thread#backtrace -> [String] | nil (10.0)

スレッドの現在のバックトレースを返します。

スレッドの現在のバックトレースを返します。

スレッドがすでに終了している場合は nil を返します。

//emlist[例][ruby]{
class C1
def m1
sleep 5
end
def m2
m1
end
end

th = Thread.new {C1.new.m2; Thread.stop}
th.backtrace
# => [
# [0] "(irb):3:in `sleep'",
# [1] "(irb):3:in `m1'",
# [2] "(irb):6:in `m2'",
# [3] ...

絞り込み条件を変える

Thread#backtrace_locations(range) -> [Thread::Backtrace::Location] | nil (10.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 (10.0)

スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。

スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。

引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。

@param start 開始フレームの位置を数値で指定します。

@param length 取得するフレームの個数を指定します。

@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。

Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。

//emlist[例][ruby]...

Thread#exit -> self (10.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

Thread#group -> ThreadGroup (10.0)

スレッドが属している ThreadGroup オブジェクトを返します。

スレッドが属している ThreadGroup オブジェクトを返します。

p Thread.current.group == ThreadGroup::Default
# => true

Thread#inspect -> String (10.0)

自身を人間が読める形式に変換した文字列を返します。

自身を人間が読める形式に変換した文字列を返します。

//emlist[例][ruby]{
a = Thread.current
a.inspect # => "#<Thread:0x00007fdbaf07ddb0 run>"
b = Thread.new{}
b.inspect # => "#<Thread:0x00007fdbaf8f7d10@(irb):3 dead>"
//}

絞り込み条件を変える

Thread#join -> self (10.0)

スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。

スレッド self の実行が終了するまで、カレントスレッドを停止し
ます。self が例外により終了していれば、その例外がカレントス
レッドに対して発生します。

limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。

@param limit タイムアウトする時間を整数か小数で指定します。単位は秒です。

@raise ThreadError join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。

以下は、生成したすべてのスレッドの終了を待つ例です。

threads = ...

Thread#join(limit) -> self | nil (10.0)

スレッド self の実行が終了するまで、カレントスレッドを停止し ます。self が例外により終了していれば、その例外がカレントス レッドに対して発生します。

スレッド self の実行が終了するまで、カレントスレッドを停止し
ます。self が例外により終了していれば、その例外がカレントス
レッドに対して発生します。

limit を指定して、limit 秒過ぎても自身が終了しない場合、nil を返します。

@param limit タイムアウトする時間を整数か小数で指定します。単位は秒です。

@raise ThreadError join を実行することによってデッドロックが起きる場合に発生します。またカレントスレッドを join したときにも発生します。

以下は、生成したすべてのスレッドの終了を待つ例です。

threads = ...

Thread#key?(name) -> bool (10.0)

name に対応したスレッドに固有のデータが定義されていれば true を返します。

name に対応したスレッドに固有のデータが定義されていれば
true を返します。

@param name 文字列か Symbol で指定します。

//emlist[例][ruby]{
me = Thread.current
me[:oliver] = "a"
me.key?(:oliver) # => true
me.key?(:stanley) # => false
//}

Thread#keys -> [Symbol] (10.0)

スレッド固有データに関連づけられたキーの配列を返します。キーは Symbol で返されます。

スレッド固有データに関連づけられたキーの配列を返します。キーは
Symbol で返されます。

th = Thread.current
th[:foo] = 'FOO'
th['bar'] = 'BAR'
p th.keys

#=> [:bar, :foo]

Thread#kill -> self (10.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

絞り込み条件を変える

Thread#pending_interrupt?(error = nil) -> bool (10.0)

self の非同期例外のキューが空かどうかを返します。

self の非同期例外のキューが空かどうかを返します。

@param error 対象の例外クラスを指定します。


@see Thread.pending_interrupt?

Thread#priority -> Integer (10.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。

@param val スレッドの優先度を指定します。プラットフォームに依存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop { count1 += 1 }
end
a.priority = -1

b = Thread.new do
...

Thread#priority=(val) (10.0)

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。 メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの priority を引き継ぎます。

スレッドの優先度を返します。この値が大きいほど優先度が高くなります。
メインスレッドのデフォルト値は 0 です。新しく生成されたスレッドは親スレッドの
priority を引き継ぎます。

@param val スレッドの優先度を指定します。プラットフォームに依存します。

//emlist[例][ruby]{
Thread.current.priority # => 0

count1 = count2 = 0
a = Thread.new do
loop { count1 += 1 }
end
a.priority = -1

b = Thread.new do
...

Thread#raise(error_type, message, traceback) -> () (10.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#run -> self (10.0)

停止状態(stop)のスレッドを再開させます。 Thread#wakeup と異なりすぐにスレッドの切り替え を行います。

停止状態(stop)のスレッドを再開させます。
Thread#wakeup と異なりすぐにスレッドの切り替え
を行います。

@raise ThreadError 死んでいるスレッドに対して実行すると発生します。

//emlist[例][ruby]{
a = Thread.new { puts "a"; Thread.stop; puts "c" }
sleep 0.1 while a.status!='sleep'
puts "Got here"
a.run
a.join
# => a
# => Got here
# => c
//}

@see Thread#wakeup, Threa...

絞り込み条件を変える

Thread#safe_level -> Integer (10.0)

self のセーフレベルを返します。カレントスレッドの safe_level は、$SAFE と同じです。

self のセーフレベルを返します。カレントスレッドの
safe_level は、$SAFE と同じです。

Ruby 2.6 から$SAFEがプロセスグローバルになったため、このメソッドは obsolete になりました。

セーフレベルについてはspec/safelevelを参照してください。

//emlist[例][ruby]{
thr = Thread.new { $SAFE = 1; sleep }
Thread.current.safe_level # => 0
thr.safe_level # => 1
//}

Thread#set_trace_func(pr) -> Proc | nil (10.0)

スレッドにトレース用ハンドラを設定します。

スレッドにトレース用ハンドラを設定します。

nil を渡すとトレースを解除します。

設定したハンドラを返します。

//emlist[例][ruby]{
th = Thread.new do
class Trace
end
2.to_s
Thread.current.set_trace_func nil
3.to_s
end
th.set_trace_func lambda {|*arg| p arg }
th.join

# => ["line", "example.rb", 2, nil, #<Binding:0x00007fc8de87cb08>, nil]
#...

Thread#status -> String | false | nil (10.0)

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず れかで返します。正常終了したスレッドに対して false、例外によ り終了したスレッドに対して nil を返します。

生きているスレッドの状態を文字列 "run"、"sleep", "aborting" のいず
れかで返します。正常終了したスレッドに対して false、例外によ
り終了したスレッドに対して nil を返します。

Thread#alive? が真を返すなら、このメソッドも真です。

例:
a = Thread.new { raise("die now") }
b = Thread.new { Thread.stop }
c = Thread.new { Thread.exit }
d = Thread.new { sleep }
d.kill ...

Thread#stop? -> bool (10.0)

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。

スレッドが終了(dead)あるいは停止(stop)している時、true を返します。

//emlist[例][ruby]{
a = Thread.new { Thread.stop }
b = Thread.current
a.stop? # => true
b.stop? # => false
//}

@see Thread#alive?, Thread#status

Thread#terminate -> self (10.0)

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

スレッドの実行を終了させます。終了時に ensure 節が実行されます。

ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。

Kernel.#exit と違い例外 SystemExit を発生しません。

th1 = Thread.new do
begin
sleep 10
...

絞り込み条件を変える

Thread#thread_variable?(key) -> bool (10.0)

引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ うでない場合に false を返します。

引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ
うでない場合に false を返します。

@param key 変数名を String か Symbol で指定します。

me = Thread.current
me.thread_variable_set(:oliver, "a")
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル...

Thread#thread_variable_get(key) -> object | nil (10.0)

引数 key で指定した名前のスレッドローカル変数を返します。

引数 key で指定した名前のスレッドローカル変数を返します。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。

例:

Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル

Fiber.new {
Fiber.yield ...

Thread#thread_variable_set(key, value) (10.0)

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。

引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。

//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ...

Thread#value -> object (10.0)

スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。

スレッド self が終了するまで待ち(Thread#join と同じ)、
そのスレッドのブロックが返した値を返します。スレッド実行中に例外が
発生した場合には、その例外を再発生させます。

スレッドが Thread#kill によって終了した場合は、返り値は不定です。

以下は、生成したすべてのスレッドの終了を待ち結果を出力する例です。

threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })...

Thread#wakeup -> self (10.0)

停止状態(stop)のスレッドを実行可能状態(run)にします。

停止状態(stop)のスレッドを実行可能状態(run)にします。

@raise ThreadError 死んでいるスレッドに対して実行すると発生します。

//emlist[例][ruby]{
c = Thread.new { Thread.stop; puts "hey!" }
sleep 0.1 while c.status!='sleep'
c.wakeup
c.join
# => "hey!"
//}

@see Thread#run, Thread.stop

絞り込み条件を変える

Thread::Backtrace::Location#absolute_path -> String (10.0)

self が表すフレームの絶対パスを返します。

self が表すフレームの絶対パスを返します。

//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.absolute_path
end

# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}

@see...

Thread::Backtrace::Location#base_label -> String (10.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...

Thread::Backtrace::Location#inspect -> String (10.0)

Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文 字列に変換したオブジェクトを返します。

Thread::Backtrace::Location#to_s の結果を人間が読みやすいような文
字列に変換したオブジェクトを返します。

//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.inspect
end

# => "path/to/foo.rb:5:in ...

Thread::Backtrace::Location#label -> String (10.0)

self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ ジュール名などで構成されます。

self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ
ジュール名などで構成されます。

例: Thread::Backtrace::Location の例1を用いた例

//emlist[][ruby]{
loc = c(0..1).first
loc.label # => "a"
//}

@see Thread::Backtrace::Location#base_label

Thread::Backtrace::Location#lineno -> Integer (10.0)

self が表すフレームの行番号を返します。

self が表すフレームの行番号を返します。

例: Thread::Backtrace::Location の例1を用いた例

//emlist[][ruby]{
loc = c(0..1).first
loc.lineno # => 2
//}

絞り込み条件を変える

Thread::Backtrace::Location#path -> String (10.0)

self が表すフレームのファイル名を返します。

self が表すフレームのファイル名を返します。

例: Thread::Backtrace::Location の例1を用いた例

//emlist[][ruby]{
loc = c(0..1).first
loc.path # => "caller_locations.rb"
//}

@see Thread::Backtrace::Location#absolute_path

Thread::Backtrace::Location#to_s -> String (10.0)

self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し ます。

self が表すフレームを Kernel.#caller と同じ表現にした文字列を返し
ます。

//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.to_s
end

# => path/to/foo.rb:5:in `initialize'
# path/to/foo...

ThreadGroup#add(thread) -> self (10.0)

スレッド thread が属するグループを自身に変更します。

スレッド thread が属するグループを自身に変更します。

@param thread 自身に加えたいスレッドを指定します。

@raise ThreadError 自身が freeze されているか enclose されている場合に、発生します。また引数 thread が属する ThreadGroup が freeze されているか enclose されている場合にも発生します。

//emlist[例][ruby]{
puts "Initial group is #{ThreadGroup::Default.list}"
# => Initial group is [#<Thread...

ThreadGroup#enclose -> self (10.0)

自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。

自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。

ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。

追加の例:

thg = ThreadGroup.new.enclose
thg.add Thread.new {}

=> -:2:in `add': can't ...

ThreadGroup#enclosed? -> bool (10.0)

自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。

自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。

freeze された ThreadGroup には Thread の追加/削除ができませんが、enclosed? は false を返します。

thg = ThreadGroup.new
p thg.enclosed? # => false
thg.enclose
p thg.enclosed? # => true

thg = ThreadGroup.new
p thg.e...

絞り込み条件を変える

ThreadGroup#list -> [Thread] (10.0)

self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。

self に属するスレッドの配列を返します。
version 1.8 では、aborting 状態であるスレッド
も要素に含まれます。つまり「生きている」スレッドの配列を返します。

//emlist[例][ruby]{
ThreadGroup::Default.list # => [#<Thread:0x00007f8f13867078 run>]
//}

Time#+(other) -> Time (10.0)

self より other 秒だけ後の時刻を返します。

self より other 秒だけ後の時刻を返します。

@param other 自身からの秒数を数値で指定します。

//emlist[][ruby]{
p t = Time.local(2000) # => 2000-01-01 00:00:00 +0900
p t + (60 * 60 * 24) # => 2000-01-02 00:00:00 +0900
//}

Time#-(sec) -> Time (10.0)

自身より sec 秒だけ前の時刻を返します。

自身より sec 秒だけ前の時刻を返します。

@param sec 実数を秒を単位として指定します。

//emlist[][ruby]{
p t = Time.local(2000) # => 2000-01-01 00:00:00 +0900
p t2 = t + 2592000 # => 2000-01-31 00:00:00 +0900
p t2 - 2592000 # => 2000-01-01 00:00:00 +0900
//}

Time#-(time) -> Float (10.0)

自身と time との時刻の差を Float で返します。単位は秒です。

自身と time との時刻の差を Float で返します。単位は秒です。

@param time 自身との差を算出したい Time オブジェクトを指定します。

//emlist[][ruby]{
p t = Time.local(2000) # => 2000-01-01 00:00:00 +0900
p t2 = t + 2592000 # => 2000-01-31 00:00:00 +0900
p t2 - t # => 2592000.0
//}

Time#<=>(other) -> -1 | 0 | 1 | nil (10.0)

self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、 小さい場合は -1 を返します。比較できない場合は、nil を返します。

self と other の時刻を比較します。self の方が大きい場合は 1 を、等しい場合は 0 を、
小さい場合は -1 を返します。比較できない場合は、nil を返します。

@param other 自身と比較したい時刻を Time オブジェクトで指定します。

//emlist[][ruby]{
p t = Time.local(2000) # => 2000-01-01 00:00:00 +0900
p t2 = t + 2592000 # => 2000-01-31 00:00:00 +0900
p t <=> t2 # => -1
p ...

絞り込み条件を変える

Time#asctime -> String (10.0)

時刻を asctime(3) の形式の文字列に変換します。た だし、末尾の改行文字 "\n" は含まれません。

時刻を asctime(3) の形式の文字列に変換します。た
だし、末尾の改行文字 "\n" は含まれません。

戻り値の文字エンコーディングは Encoding::US_ASCII です。

//emlist[][ruby]{
p Time.local(2000).asctime # => "Sat Jan 1 00:00:00 2000"
p Time.local(2000).asctime.encoding # => #<Encoding:US-ASCII>
p Time.local(2000).ctime # => "Sat Ja...

Time#ctime -> String (10.0)

時刻を asctime(3) の形式の文字列に変換します。た だし、末尾の改行文字 "\n" は含まれません。

時刻を asctime(3) の形式の文字列に変換します。た
だし、末尾の改行文字 "\n" は含まれません。

戻り値の文字エンコーディングは Encoding::US_ASCII です。

//emlist[][ruby]{
p Time.local(2000).asctime # => "Sat Jan 1 00:00:00 2000"
p Time.local(2000).asctime.encoding # => #<Encoding:US-ASCII>
p Time.local(2000).ctime # => "Sat Ja...

Time#day -> Integer (10.0)

日を整数で返します。

日を整数で返します。

//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.day # => 2
p t.mday # => 2
//}

Time#dst? -> bool (10.0)

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

//emlist[][ruby]{
ENV['TZ'] = 'US/Pacific'
p Time.local(2000, 7, 1).isdst # => true
p Time.local(2000, 1, 1).isdst # => false
//}

Time#eql?(other) -> bool (10.0)

other が Time かそのサブクラスのインスタンスであり自身と時刻が等しい場合に true を返します。そうでない場合に false を返します。

other が Time かそのサブクラスのインスタンスであり自身と時刻が等しい場合に
true を返します。そうでない場合に false を返します。

@param other 自身と比較したい時刻を Time オブジェクトを指定します。

//emlist[][ruby]{
p Time.local(2000, 1, 1).eql?(Time.local(2000, 1, 1)) # => true
p Time.local(2000, 1, 1).eql?(Time.local(2000, 1, 2)) # => false
//}

絞り込み条件を変える

Time#friday? -> bool (10.0)

self の表す時刻が金曜日である場合に true を返します。 そうでない場合に false を返します。

self の表す時刻が金曜日である場合に true を返します。
そうでない場合に false を返します。

//emlist[][ruby]{
t = Time.local(1987, 12, 18) # => 1987-12-18 00:00:00 +0900
p t.friday? # => true
//}

Time#getgm -> Time (10.0)

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく 生成して返します。

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく
生成して返します。

//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1) #=> 2000-01-01 20:15:01 +0900
p t.gmt? #=> false
p y = t.getgm #=> 2000-01-01 11:15:01 UTC
p y.gmt? #=> true
p t == y ...

Time#getlocal -> Time (10.0)

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成 して返します。

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成
して返します。

@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。

//emlist[][ruby]{
p t = Time.utc(2000,1,1,20,15,1) # => 2000-01-01 20:15:01 UTC
p t.utc? # => true
p...

Time#getlocal(utc_offset) -> Time (10.0)

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成 して返します。

タイムゾーンを地方時に設定した Time オブジェクトを新しく生成
して返します。

@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。

//emlist[][ruby]{
p t = Time.utc(2000,1,1,20,15,1) # => 2000-01-01 20:15:01 UTC
p t.utc? # => true
p...

Time#getutc -> Time (10.0)

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく 生成して返します。

タイムゾーンを協定世界時に設定した Time オブジェクトを新しく
生成して返します。

//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1) #=> 2000-01-01 20:15:01 +0900
p t.gmt? #=> false
p y = t.getgm #=> 2000-01-01 11:15:01 UTC
p y.gmt? #=> true
p t == y ...

絞り込み条件を変える

Time#gmt? -> bool (10.0)

self のタイムゾーンが協定世界時に設定されていれば真を返します。

self のタイムゾーンが協定世界時に設定されていれば真を返します。

//emlist[][ruby]{
p t = Time.local(2017,9,19,15,0,0) # => 2017-09-19 15:00:00 +0900
p t.utc? # => false
p utc_t = t.getutc # => 2017-09-19 06:00:00 UTC
p utc_t.utc? # => true
//}

Time#gmt_offset -> Integer (10.0)

協定世界時との時差を秒を単位とする数値として返します。

協定世界時との時差を秒を単位とする数値として返します。

地方時が協定世界時よりも進んでいる場合(アジア、オーストラリアなど)
には正の値、遅れている場合(アメリカなど)には負の値になります。

//emlist[地方時の場合][ruby]{
p Time.now.zone # => "JST"
p Time.now.utc_offset # => 32400
//}

タイムゾーンが協定世界時に設定されている場合は 0 を返します。

//emlist[協定世界時の場合][ruby]{
p Time.now.getgm.zone # => "UTC"
p Ti...

Time#gmtime -> self (10.0)

タイムゾーンを協定世界時に設定します。

タイムゾーンを協定世界時に設定します。

このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。

Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。

//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)...

Time#gmtoff -> Integer (10.0)

協定世界時との時差を秒を単位とする数値として返します。

協定世界時との時差を秒を単位とする数値として返します。

地方時が協定世界時よりも進んでいる場合(アジア、オーストラリアなど)
には正の値、遅れている場合(アメリカなど)には負の値になります。

//emlist[地方時の場合][ruby]{
p Time.now.zone # => "JST"
p Time.now.utc_offset # => 32400
//}

タイムゾーンが協定世界時に設定されている場合は 0 を返します。

//emlist[協定世界時の場合][ruby]{
p Time.now.getgm.zone # => "UTC"
p Ti...

Time#hash -> Integer (10.0)

self のハッシュ値を返します。

self のハッシュ値を返します。

@return ハッシュ値を返します。


@see Object#hash

絞り込み条件を変える

Time#hour -> Integer (10.0)

時を整数で返します。

時を整数で返します。

//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.hour # => 3
//}

Time#isdst -> bool (10.0)

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

自身が表す日時が夏時間なら true を返します。そうでないなら false を返します。

//emlist[][ruby]{
ENV['TZ'] = 'US/Pacific'
p Time.local(2000, 7, 1).isdst # => true
p Time.local(2000, 1, 1).isdst # => false
//}

Time#localtime -> self (10.0)

タイムゾーンを地方時に設定します。

タイムゾーンを地方時に設定します。

このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。

@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。

Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス...

Time#localtime(utc_offset) -> self (10.0)

タイムゾーンを地方時に設定します。

タイムゾーンを地方時に設定します。

このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。

@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。

Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス...

Time#mday -> Integer (10.0)

日を整数で返します。

日を整数で返します。

//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.day # => 2
p t.mday # => 2
//}

絞り込み条件を変える

<< < ... 14 15 16 17 > >>