ライブラリ
- ビルトイン (1740)
クラス
-
ARGF
. class (81) - Array (158)
- BasicObject (14)
- Bignum (33)
- Binding (6)
- Class (5)
- Complex (42)
- Dir (13)
- Encoding (7)
-
Encoding
:: Converter (17) -
Encoding
:: InvalidByteSequenceError (7) -
Encoding
:: UndefinedConversionError (5) - Enumerator (15)
-
Enumerator
:: Lazy (30) -
Enumerator
:: Yielder (2) - Exception (10)
- FalseClass (5)
- Fiber (1)
- File (12)
-
File
:: Stat (42) - Fixnum (35)
- Float (43)
- Hash (83)
- IO (102)
- Integer (66)
- LoadError (1)
- LocalJumpError (2)
- MatchData (24)
- Method (21)
- Module (76)
- NameError (4)
- NilClass (13)
- NoMethodError (1)
- Numeric (47)
- Object (69)
-
ObjectSpace
:: WeakMap (2) - Proc (15)
-
Process
:: Status (15) -
Process
:: Tms (8) - Random (10)
- Range (31)
- Rational (25)
- Regexp (17)
-
RubyVM
:: InstructionSequence (11) - SignalException (2)
- StopIteration (1)
- String (167)
- Struct (22)
- Symbol (31)
- SystemCallError (1)
- SystemExit (2)
- Thread (34)
-
Thread
:: Backtrace :: Location (7) -
Thread
:: ConditionVariable (3) -
Thread
:: Mutex (7) -
Thread
:: Queue (13) -
Thread
:: SizedQueue (9) - ThreadGroup (4)
- Time (55)
- TracePoint (16)
- TrueClass (5)
- UnboundMethod (14)
- UncaughtThrowError (3)
モジュール
- Comparable (6)
- Enumerable (111)
- GC (1)
キーワード
- ! (1)
- != (1)
- !~ (1)
- % (6)
- & (8)
- * (9)
- ** (6)
- + (9)
- +@ (2)
- - (9)
- -@ (7)
-
/ (6) - < (7)
- << (9)
- <= (7)
- <=> (13)
- == (22)
- === (9)
- =~ (4)
- > (7)
- >= (7)
- >> (4)
- [] (27)
- []= (14)
- ^ (6)
-
_ _ id _ _ (1) -
_ _ send _ _ (2) -
_ dump (1) -
_ load (1) -
abort
_ on _ exception (1) -
abort
_ on _ exception= (1) - abs (6)
- abs2 (2)
-
absolute
_ path (2) - add (1)
-
add
_ trace _ func (1) - advise (1)
-
alias
_ method (1) - alive? (1)
- all? (2)
- allocate (1)
- ancestors (1)
- angle (3)
- any? (4)
-
append
_ features (1) - arg (3)
- args (1)
- argv (1)
- arity (3)
-
ascii
_ compatible? (1) -
ascii
_ only? (1) - asctime (1)
- assoc (2)
- at (1)
- atime (2)
- attr (3)
-
attr
_ accessor (1) -
attr
_ reader (1) -
attr
_ writer (1) - autoclose= (1)
- autoclose? (1)
- autoload (1)
- autoload? (1)
- b (1)
- backtrace (2)
-
backtrace
_ locations (3) -
base
_ label (2) - begin (2)
- between? (2)
- bind (1)
- binding (2)
- binmode (2)
- binmode? (2)
- birthtime (2)
-
bit
_ length (3) - blksize (1)
- blockdev? (1)
- blocks (1)
- broadcast (1)
- bsearch (4)
-
bsearch
_ index (2) - bytes (7)
- bytesize (1)
- byteslice (3)
- call (3)
-
callee
_ id (1) - capitalize (2)
- capitalize! (1)
- captures (1)
- casecmp (2)
- casefold? (1)
- cause (1)
- ceil (4)
- center (1)
- chardev? (1)
- chars (6)
- chmod (1)
- chomp (1)
- chomp! (1)
- chop (1)
- chop! (1)
- chown (1)
- chr (3)
- chunk (3)
-
chunk
_ while (1) - clamp (1)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - clear (4)
- clone (6)
- close (5)
-
close
_ on _ exec= (1) -
close
_ on _ exec? (1) -
close
_ read (1) -
close
_ write (1) - closed? (3)
- codepoints (6)
- coerce (3)
- collect (5)
- collect! (2)
-
collect
_ concat (3) - combination (2)
- compact (1)
- compact! (1)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - concat (2)
- conj (2)
- conjugate (2)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ missing (1) -
const
_ set (1) - constants (1)
- convert (2)
- convpath (1)
- coredump? (1)
- count (7)
- cover? (1)
- crypt (1)
- cstime (1)
- cstime= (1)
- ctime (3)
- curry (4)
- cutime (1)
- cutime= (1)
- cycle (4)
- day (1)
- default (2)
- default= (1)
-
default
_ proc (1) -
default
_ proc= (1) -
define
_ method (2) -
define
_ singleton _ method (2) -
defined
_ class (1) - delete (5)
- delete! (1)
-
delete
_ at (1) -
delete
_ if (4) - denominator (5)
-
deprecate
_ constant (1) - deq (2)
-
destination
_ encoding (3) -
destination
_ encoding _ name (2) - detect (2)
- dev (1)
-
dev
_ major (1) -
dev
_ minor (1) - dig (3)
- digits (2)
- directory? (1)
- disable (2)
- disasm (1)
- disassemble (1)
- display (1)
- div (4)
- divmod (5)
- downcase (2)
- downcase! (1)
- downto (2)
- drop (3)
-
drop
_ while (5) - dst? (1)
- dummy? (1)
- dump (1)
- dup (4)
- each (24)
-
each
_ byte (6) -
each
_ char (6) -
each
_ codepoint (6) -
each
_ cons (2) -
each
_ entry (2) -
each
_ index (2) -
each
_ key (2) -
each
_ line (12) -
each
_ pair (4) -
each
_ slice (2) -
each
_ value (2) -
each
_ with _ index (2) -
each
_ with _ object (2) - empty? (5)
- enable (2)
- enabled? (1)
- enclose (1)
- enclosed? (1)
- encode (3)
- encode! (2)
- encoding (3)
- end (2)
-
end
_ with? (1) - enq (2)
- entries (1)
-
enum
_ for (4) - eof (2)
- eof? (2)
- eql? (14)
- equal? (4)
- errno (1)
-
error
_ bytes (1) -
error
_ char (1) - eval (2)
- even? (3)
- event (1)
- exception (2)
-
exclude
_ end? (1) - executable? (1)
-
executable
_ real? (1) - exit (1)
-
exit
_ value (1) - exited? (1)
- exitstatus (1)
- extend (1)
-
extend
_ object (1) - extended (1)
-
external
_ encoding (2) - fcntl (1)
- fdatasync (1)
- fdiv (6)
- feed (1)
- fetch (6)
-
fetch
_ values (2) - file (1)
- file? (1)
- filename (1)
- fileno (3)
- fill (6)
- find (2)
-
find
_ all (3) -
find
_ index (6) - finish (1)
- finite? (1)
- first (6)
-
first
_ lineno (1) -
fixed
_ encoding? (1) -
flat
_ map (3) - flatten (2)
- flatten! (1)
- flock (1)
- floor (4)
- flush (1)
- force (1)
-
force
_ encoding (1) - freeze (2)
- friday? (1)
- frozen? (1)
- fsync (1)
- ftype (1)
-
garbage
_ collect (1) - gcd (1)
- gcdlcm (1)
- getbyte (3)
- getc (2)
- getgm (1)
- getlocal (2)
- gets (6)
- getutc (1)
- gid (1)
- gmt? (1)
-
gmt
_ offset (1) - gmtime (1)
- gmtoff (1)
- grep (3)
-
grep
_ v (3) - group (1)
-
group
_ by (2) - grpowned? (1)
- gsub (4)
- gsub! (4)
-
has
_ key? (1) -
has
_ value? (1) - hash (15)
- hex (1)
- hour (1)
- i (1)
- id2name (1)
- imag (2)
- imaginary (2)
- include (1)
- include? (6)
- included (1)
-
included
_ modules (1) -
incomplete
_ input? (1) - index (5)
- infinite? (1)
- inherited (1)
- initialize (1)
-
initialize
_ copy (1) - inject (3)
- ino (1)
-
inplace
_ mode (1) -
inplace
_ mode= (1) - insert (2)
-
insert
_ output (1) - inspect (31)
-
instance
_ eval (2) -
instance
_ exec (1) -
instance
_ method (1) -
instance
_ methods (1) -
instance
_ of? (1) -
instance
_ variable _ defined? (1) -
instance
_ variable _ get (1) -
instance
_ variable _ set (1) -
instance
_ variables (1) - integer? (2)
- intern (2)
-
internal
_ encoding (2) - invert (1)
- ioctl (1)
-
is
_ a? (1) - isatty (1)
- isdst (1)
- itself (1)
- join (3)
-
keep
_ if (4) - key (1)
- key? (2)
- keys (2)
- kill (1)
-
kind
_ of? (1) - label (2)
- lambda? (1)
- last (4)
-
last
_ error (1) - lazy (2)
- lcm (1)
- left (1)
- length (7)
- lineno (4)
- lineno= (2)
- lines (14)
- list (1)
- ljust (1)
-
local
_ variable _ defined? (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) -
local
_ variables (2) - localtime (2)
- lock (1)
- locked? (1)
- lstat (1)
- lstrip (1)
- lstrip! (1)
- magnitude (6)
- map (5)
- map! (2)
-
marshal
_ dump (4) -
marshal
_ load (2) - match (5)
- max (9)
- max= (1)
-
max
_ by (4) - mday (1)
- member? (3)
- members (1)
- merge (2)
- merge! (2)
- method (1)
-
method
_ added (1) -
method
_ defined? (1) -
method
_ id (1) -
method
_ missing (1) -
method
_ removed (1) -
method
_ undefined (1) - methods (1)
- min (9)
-
min
_ by (4) - minmax (2)
-
minmax
_ by (2) - mode (1)
-
module
_ eval (2) -
module
_ exec (1) -
module
_ function (1) - modulo (5)
- mon (1)
- monday? (1)
- month (1)
- mtime (2)
- name (6)
- name= (1)
-
named
_ captures (2) - names (3)
- nan? (1)
- negative? (2)
- new (1)
- next (4)
- next! (1)
-
next
_ float (1) -
next
_ values (1) - nil? (2)
- nlink (1)
- none? (2)
- nonzero? (1)
- nsec (1)
-
num
_ waiting (1) - numerator (5)
-
object
_ id (1) - oct (1)
- odd? (3)
- offset (2)
- one? (2)
- ord (2)
-
original
_ name (2) - owned? (2)
- owner (2)
- pack (1)
- parameters (3)
- partition (3)
- path (7)
- peek (1)
-
peek
_ values (1) -
pending
_ interrupt? (1) - permutation (2)
- phase (3)
- pid (2)
- pipe? (1)
- polar (2)
- pop (4)
- pos (3)
- pos= (3)
- positive? (2)
-
post
_ match (1) - pow (2)
-
pre
_ match (1) - pred (1)
- prepend (2)
-
prepend
_ features (1) - prepended (1)
-
prev
_ float (1) -
primitive
_ convert (4) -
primitive
_ errinfo (1) - print (2)
- printf (2)
- priority (1)
- priority= (1)
- private (1)
-
private
_ class _ method (1) -
private
_ constant (1) -
private
_ instance _ methods (1) -
private
_ method _ defined? (1) -
private
_ methods (1) - product (2)
- protected (1)
-
protected
_ instance _ methods (1) -
protected
_ method _ defined? (1) -
protected
_ methods (1) - public (1)
-
public
_ class _ method (1) -
public
_ constant (1) -
public
_ instance _ method (1) -
public
_ instance _ methods (1) -
public
_ method (1) -
public
_ method _ defined? (1) -
public
_ methods (1) -
public
_ send (2) - push (3)
- putback (2)
- putc (2)
- puts (2)
- quo (3)
- raise (1)
-
raised
_ exception (1) - rand (3)
- rassoc (2)
- rationalize (9)
- rdev (1)
-
rdev
_ major (1) -
rdev
_ minor (1) - read (3)
-
read
_ nonblock (2) - readable? (1)
-
readable
_ real? (1) -
readagain
_ bytes (1) - readbyte (2)
- readchar (2)
- readline (6)
- readlines (6)
- readpartial (2)
- real (2)
- real? (2)
- reason (1)
- receiver (3)
- rect (2)
- rectangular (2)
- reduce (3)
- refine (1)
- regexp (1)
- rehash (1)
- reject (7)
- reject! (4)
- remainder (3)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) -
remove
_ method (1) - reopen (3)
-
repeated
_ combination (2) -
repeated
_ permutation (2) - replace (3)
- replacement (1)
- replacement= (1)
- replicate (1)
-
respond
_ to? (1) -
respond
_ to _ missing? (1) - result (1)
- resume (1)
-
return
_ value (1) - reverse (2)
- reverse! (2)
-
reverse
_ each (4) - rewind (4)
- rindex (4)
- rjust (1)
- rotate (1)
- rotate! (1)
- round (5)
- rpartition (1)
- rstrip (1)
- rstrip! (1)
- run (1)
-
safe
_ level (1) - sample (4)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
- sec (1)
- seed (1)
- seek (3)
- select (9)
- select! (4)
- self (1)
- send (2)
-
set
_ backtrace (1) -
set
_ encoding (6) -
set
_ trace _ func (1) - setbyte (1)
- setgid? (1)
- setuid? (1)
- shift (5)
- shuffle (2)
- shuffle! (2)
- signal (1)
- signaled? (1)
- signm (1)
- signo (1)
-
singleton
_ class (1) -
singleton
_ class? (1) -
singleton
_ method (1) -
singleton
_ method _ added (1) -
singleton
_ method _ removed (1) -
singleton
_ method _ undefined (1) -
singleton
_ methods (1) - size (14)
- size? (1)
- skip (1)
- sleep (1)
- slice (14)
- slice! (9)
-
slice
_ after (4) -
slice
_ before (5) -
slice
_ when (2) - socket? (1)
- sort (4)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) - source (1)
-
source
_ encoding (3) -
source
_ encoding _ name (2) -
source
_ location (3) - split (1)
- squeeze (1)
- squeeze! (1)
-
start
_ with? (1) - stat (1)
- state (1)
- status (2)
- step (8)
- sticky? (1)
- stime (1)
- stime= (1)
- stop? (1)
- stopped? (1)
- stopsig (1)
- store (1)
- strftime (1)
- string (1)
- strip (1)
- strip! (1)
- sub (3)
- sub! (3)
- subsec (1)
- succ (5)
- succ! (1)
- success? (2)
- sum (3)
- sunday? (1)
-
super
_ method (2) - superclass (1)
- swapcase (2)
- swapcase! (1)
- symlink? (1)
- sync (1)
- sync= (1)
- synchronize (1)
- sysread (1)
- sysseek (1)
- syswrite (1)
- tag (1)
- taint (1)
- tainted? (1)
- take (3)
-
take
_ while (6) - tap (1)
- tell (3)
- terminate (1)
- termsig (1)
-
thread
_ variable? (1) -
thread
_ variable _ get (1) -
thread
_ variable _ set (1) - thursday? (1)
- times (2)
-
to
_ a (12) -
to
_ ary (2) -
to
_ binary (1) -
to
_ c (4) -
to
_ enum (4) -
to
_ f (9) -
to
_ h (5) -
to
_ hash (2) -
to
_ i (10) -
to
_ int (3) -
to
_ io (3) -
to
_ path (2) -
to
_ proc (5) -
to
_ r (7) -
to
_ regexp (1) -
to
_ s (30) -
to
_ str (2) -
to
_ sym (2) -
to
_ write _ io (1) - tr (1)
- tr! (1)
-
tr
_ s (1) -
tr
_ s! (1) - transpose (1)
- truncate (5)
- trust (1)
-
try
_ lock (1) - tty? (1)
- tuesday? (1)
-
tv
_ nsec (1) -
tv
_ sec (1) -
tv
_ usec (1) - uid (1)
- unbind (1)
-
undef
_ method (1) - ungetbyte (1)
- ungetc (1)
-
unicode
_ normalize (1) -
unicode
_ normalize! (1) -
unicode
_ normalized? (1) - uniq (4)
- uniq! (2)
- unlock (1)
- unpack (1)
- unshift (1)
- untaint (1)
- untrust (1)
- untrusted? (1)
- upcase (2)
- upcase! (1)
- update (2)
- upto (3)
- usec (1)
- using (1)
- utc (1)
- utc? (1)
-
utc
_ offset (1) - utime (1)
- utime= (1)
-
valid
_ encoding? (1) - value (2)
- value? (1)
- values (2)
-
values
_ at (4) - wait (1)
- wakeup (1)
- wday (1)
- wednesday? (1)
-
with
_ index (2) -
with
_ object (2) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
-
writable
_ real? (1) - write (2)
-
write
_ nonblock (1) - yday (1)
- year (1)
- yield (2)
- zero? (4)
- zip (6)
- zone (1)
- | (7)
- ~ (4)
検索結果
先頭5件
-
Thread
# thread _ variable _ get(key) -> object | nil (24004.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) (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.0) -
self が表すフレームの行番号を返します。
self が表すフレームの行番号を返します。
例: Thread::Backtrace::Location の例1を用いた例
//emlist[][ruby]{
loc = c(0..1).first
loc.lineno # => 2
//} -
Thread
:: Backtrace :: Location # path -> String (24004.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 (24004.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... -
Thread
:: ConditionVariable # broadcast -> self (24004.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: ConditionVariable # signal -> self (24004.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (24004.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Mutex オブジェクトを指定します。
@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続け... -
Thread
:: Mutex # lock -> self (24004.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
mutex オブジェクトをロックします。一度に一つのス
レッドだけが mutex をロックできます。既にロックされている mutex
に対してロックを行おうとしたスレッドは mutex のロックが解放さ
れるまで、実行が停止されます。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock
... -
Thread
:: Mutex # locked? -> bool (24004.0) -
mutex がロックされている時、真を返します。
mutex がロックされている時、真を返します。
//emlist[例][ruby]{
m = Mutex.new
m.locked? # => false
m.lock
m.locked? # => true
//} -
Thread
:: Mutex # owned? -> bool (24004.0) -
self がカレントスレッドによってロックされている場合に true を返します。 そうでない場合に false を返します。
self がカレントスレッドによってロックされている場合に true を返します。
そうでない場合に false を返します。
//emlist[例][ruby]{
m = Mutex.new
m.owned? # => false
m.lock
Thread.new do
m.owned? # => false
end.join
m.owned? # => true
//} -
Thread
:: Mutex # sleep(timeout = nil) -> Integer (24004.0) -
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
@param timeout スリープする秒数を指定します。省略するとスリープし続けます。
@return スリープしていた秒数を返します。
@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。
[注意] 2.0 以降ではスリープ中でも、シグナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。
//emlist[例][ruby]{
m = Mutex.new
th = Thread.new do
... -
Thread
:: Mutex # synchronize { . . . } -> object (24004.0) -
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
mutex をロックし、ブロックを実行します。実行後に必ず mutex のロックを解放します。
ブロックが最後に評価した値を返します。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
//emlist[例][ruby]{
m = Mutex.new
result = m.synchronize do
m.locked? # =>... -
Thread
:: Mutex # try _ lock -> bool (24004.0) -
mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。
mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。
//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//} -
Thread
:: Mutex # unlock -> self (24004.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
@return self を返します。
例:
m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => Thr... -
Thread
:: Queue # <<(value) -> () (24004.0) -
キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。
キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。 -
Thread
:: Queue # clear -> () (24004.0) -
キューを空にします。返り値は不定です。
キューを空にします。返り値は不定です。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
q.clear
q.length # => 0
//} -
Thread
:: Queue # close -> self (24004.0) -
キューを close します。close 済みのキューを再度 open することはできません。
キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します
また、ClosedQueueError... -
Thread
:: Queue # closed? -> bool (24004.0) -
キューが close されている時に true を返します。
キューが close されている時に true を返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.closed? # => true
//} -
Thread
:: Queue # deq(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # empty? -> bool (24004.0) -
キューが空の時、真を返します。
キューが空の時、真を返します。
//emlist[例][ruby]{
q = Queue.new
q.empty? # => true
q.push(:resource)
q.empty? # => false
//} -
Thread
:: Queue # enq(value) -> () (24004.0) -
キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。
キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。 -
Thread
:: Queue # length -> Integer (24004.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
Thread
:: Queue # num _ waiting -> Integer (24004.0) -
キューを待っているスレッドの数を返します。
キューを待っているスレッドの数を返します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(1)
q.push(1)
t = Thread.new { q.push(2) }
sleep 0.05 until t.stop?
q.num_waiting # => 1
q.pop
t.join
//} -
Thread
:: Queue # pop(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # push(value) -> () (24004.0) -
キューの値を追加します。待っているスレッドがいれば実行を再開 させます。返り値は不定です。
キューの値を追加します。待っているスレッドがいれば実行を再開
させます。返り値は不定です。 -
Thread
:: Queue # shift(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
キューからひとつ値を取り出します。キューが空の時、呼出元のスレッドは停止します。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = Queue.new
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].each { |r|
q.push(r)
}
t... -
Thread
:: Queue # size -> Integer (24004.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
Thread
:: SizedQueue # <<(obj) -> () (24004.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # close -> self (24004.0) -
キューを close します。詳しくは Thread::Queue#close を参照してください。
キューを close します。詳しくは Thread::Queue#close を参照してください。
Thread::Queue とはキューにオブジェクトを追加するスレッドの動作が
異なります。キューにオブジェクトを追加するスレッドを待機している場合は
ClosedQueueError が発生して中断されます。
//emlist[例][ruby]{
q = SizedQueue.new(4)
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.c... -
Thread
:: SizedQueue # deq(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # enq(obj , non _ block = false) -> () (24004.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # max -> Integer (24004.0) -
キューの最大サイズを返します。
キューの最大サイズを返します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
//} -
Thread
:: SizedQueue # max=(n) (24004.0) -
キューの最大サイズを設定します。
キューの最大サイズを設定します。
@param n キューの最大サイズを指定します。
//emlist[例][ruby]{
q = SizedQueue.new(4)
q.max # => 4
q.max = 5
q.max # => 5
//} -
Thread
:: SizedQueue # pop(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
Thread
:: SizedQueue # push(obj , non _ block = false) -> () (24004.0) -
キューに与えられたオブジェクトを追加します。
キューに与えられたオブジェクトを追加します。
キューのサイズが Thread::SizedQueue#max に達している場合は、
non_block が真でなければ、キューのサイズが Thread::SizedQueue#max
より小さくなるまで他のスレッドに実行を譲ります。
その後、キューに与えられたオブジェクトを追加します。
@param obj キューに追加したいオブジェクトを指定します。
@param non_block true を与えると、キューが一杯の時に例外 ThreadError が発生します。
@see Thread::Queue#push -
Thread
:: SizedQueue # shift(non _ block = false) -> object (24004.0) -
キューからひとつ値を取り出します。 キューに push しようと待っているスレッドがあれば、実行を再開させます。
キューからひとつ値を取り出します。
キューに push しようと待っているスレッドがあれば、実行を再開させます。
@param non_block true を与えると、キューが空の時に例外 ThreadError が発生します。
//emlist[例][ruby]{
require 'thread'
q = SizedQueue.new(4)
th1 = Thread.start do
while resource = q.pop
puts resource
end
end
[:resource1, :resource2, :resource3, nil].eac... -
ThreadGroup
# add(thread) -> self (24004.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 (24004.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 (24004.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] (24004.0) -
self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。
self に属するスレッドの配列を返します。
version 1.8 では、aborting 状態であるスレッド
も要素に含まれます。つまり「生きている」スレッドの配列を返します。
//emlist[例][ruby]{
ThreadGroup::Default.list # => [#<Thread:0x00007f8f13867078 run>]
//} -
Time
# +(other) -> Time (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.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 (24004.0) -
タイムゾーンを協定世界時に設定します。
タイムゾーンを協定世界時に設定します。
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。
//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)... -
Time
# gmtoff -> Integer (24004.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 (24004.0) -
self のハッシュ値を返します。
self のハッシュ値を返します。
@return ハッシュ値を返します。
@see Object#hash -
Time
# hour -> Integer (24004.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 (24004.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 (24004.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Time
# localtime(utc _ offset) -> self (24004.0) -
タイムゾーンを地方時に設定します。
タイムゾーンを地方時に設定します。
このメソッドを呼び出した後は時刻変換を協定地方時として行ないます。
@param utc_offset タイムゾーンを地方時に設定する代わりに協定世界時との
時差を、秒を単位とする整数か、"+HH:MM" "-HH:MM" 形式
の文字列で指定します。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、シス... -
Time
# mday -> Integer (24004.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
# min -> Integer (24004.0) -
分を整数で返します。
分を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.min # => 4
//} -
Time
# mon -> Integer (24004.0) -
月を整数で返します。
月を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.month # => 1
p t.mon # => 1
//} -
Time
# monday? -> bool (24004.0) -
self の表す時刻が月曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が月曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(2003, 8, 4) # => 2003-08-04 00:00:00 +0900
p t.monday? # => true
//} -
Time
# month -> Integer (24004.0) -
月を整数で返します。
月を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5) # => 2000-01-02 03:04:05 +0900
p t.month # => 1
p t.mon # => 1
//} -
Time
# nsec -> Integer (24004.0) -
時刻のナノ秒の部分を整数で返します。
時刻のナノ秒の部分を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.9f" % t.to_f # => "946749845.000005960"
p t.nsec # => 6000
//}
IEEE 754 浮動小数点数で表現できる精度が違うため、Time#to_fの最小
の桁とnsecの最小の桁は異なります。nsecで表される値の方が正確です。 -
Time
# round(ndigits=0) -> Time (24004.0) -
十進小数点数で指定した桁数の精度で丸めをし、 その Time オブジェクトを返します。 (デフォルトは0、つまり小数点の所で丸めます)。
十進小数点数で指定した桁数の精度で丸めをし、
その Time オブジェクトを返します。
(デフォルトは0、つまり小数点の所で丸めます)。
ndigits には 0 以上の整数を渡します。
@param ndigits 十進での精度(桁数)
//emlist[][ruby]{
require 'time'
t = Time.utc(1999,12,31, 23,59,59)
p((t + 0.4).round.iso8601(3)) # => "1999-12-31T23:59:59.000Z"
p((t + 0.49).round.iso8601(3)) # => "199... -
Time
# saturday? -> bool (24004.0) -
self の表す時刻が土曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が土曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(2006, 6, 10) # => 2006-06-10 00:00:00 +0900
p t.saturday? # => true
//} -
Time
# sec -> Integer (24004.0) -
秒を整数で返します。
秒を整数で返します。
//emlist[][ruby]{
p Time.mktime(2000, 1, 1).sec # => 0
//}
通常は0から59を返しますが、うるう秒の場合は60を返します。
//emlist[][ruby]{
ENV['TZ'] = 'right/UTC'
p Time.mktime(2005, 12, 31, 23, 59, 60).sec # => 60
//} -
Time
# strftime(format) -> String (24004.0) -
時刻を format 文字列に従って文字列に変換した結果を返します。
時刻を format 文字列に従って文字列に変換した結果を返します。
@param format フォーマット文字列を指定します。使用できるものは 以下の通りです。
* %A: 曜日の名称(Sunday, Monday ... )
* %a: 曜日の省略名(Sun, Mon ... )
* %B: 月の名称(January, February ... )
* %b: 月の省略名(Jan, Feb ... )
* %C: 世紀 (2009年であれば 20)
* %c: 日付と時刻 (%a %b %e %T %Y)
* %D: 日付 (%m/%d/%y)
* ... -
Time
# subsec -> Integer | Rational (24004.0) -
時刻を表す分数を返します。
時刻を表す分数を返します。
Rational を返す場合があります。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.9f" % t.to_f # => "946749845.000005960"
p t.subsec #=> (3/500000)
//}
to_f の値と subsec の値の下のほうの桁の値は異なる場合があります。
というのは IEEE 754 double はそれを表すのに十分な精度を
持たないからです。subsec で得られる値が正確です。 -
Time
# succ -> Time (24004.0) -
self に 1 秒足した Time オブジェクトを生成して返します。
self に 1 秒足した Time オブジェクトを生成して返します。
このメソッドは obsolete です。 self + 1 を代わりに使用してください。
//emlist[][ruby]{
t = Time.local(2000)
p t # => 2000-01-01 00:00:00 +0900
p t.succ # => 2000-01-01 00:00:01 +0900
//} -
Time
# sunday? -> bool (24004.0) -
self の表す時刻が日曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が日曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(1990, 4, 1) # => 1990-04-01 00:00:00 +0900
p t.sunday? # => true
//} -
Time
# thursday? -> bool (24004.0) -
self の表す時刻が木曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が木曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(1995, 12, 21) # => 1995-12-21 00:00:00 +0900
p t.thursday? # => true
//} -
Time
# to _ a -> Array (24004.0) -
時刻を10要素の配列で返します。
時刻を10要素の配列で返します。
その要素は順序も含めて以下の通りです。
* sec: 秒 (整数 0-60) (60はうるう秒)
* min: 分 (整数 0-59)
* hour: 時 (整数 0-23)
* mday: 日 (整数)
* mon: 月 (整数 1-12)
* year: 年 (整数 2000年=2000)
* wday: 曜日 (整数 0-6)
* yday: 年内通算日 (整数 1-366)
* isdst: 夏時間であるかどうか (true/false)
* zone: タイムゾーン (文字列)
... -
Time
# to _ f -> Float (24004.0) -
起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も 表現されます。
起算時からの経過秒数を浮動小数点数で返します。1 秒に満たない経過も
表現されます。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t # => 2000-01-02 03:04:05 +0900
p "%10.6f" % t.to_f # => "946749845.000006"
p t.to_i # => 946749845
//} -
Time
# to _ i -> Integer (24004.0) -
起算時からの経過秒数を整数で返します。
起算時からの経過秒数を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t # => 2000-01-02 03:04:05 +0900
p "%10.6f" % t.to_f # => "946749845.000006"
p t.to_i # => 946749845
p t.tv_sec # => 946749845
//} -
Time
# to _ r -> Rational (24004.0) -
起算時からの経過秒数を有理数で返します。1 秒に満たない経過も 表現されます。
起算時からの経過秒数を有理数で返します。1 秒に満たない経過も
表現されます。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t # => 2000-01-02 03:04:05 +0900
p t.to_r # => (473374922500003/500000)
//} -
Time
# to _ s -> String (24004.0) -
時刻を文字列に変換した結果を返します。 以下のようにフォーマット文字列を使って strftime を呼び出すのと同じです。
時刻を文字列に変換した結果を返します。
以下のようにフォーマット文字列を使って strftime を呼び出すのと同じです。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t.to_s # => "2000-01-02 03:04:05 +0900"
p t.strftime("%Y-%m-%d %H:%M:%S %z") # => "2000-01-02 03:04:05 +0900"
p t.utc.to_s #... -
Time
# tuesday? -> bool (24004.0) -
self の表す時刻が火曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が火曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(1991, 2, 19) # => 1991-02-19 00:00:00 +0900
p t.tuesday? # => true
//} -
Time
# tv _ nsec -> Integer (24004.0) -
時刻のナノ秒の部分を整数で返します。
時刻のナノ秒の部分を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.9f" % t.to_f # => "946749845.000005960"
p t.nsec # => 6000
//}
IEEE 754 浮動小数点数で表現できる精度が違うため、Time#to_fの最小
の桁とnsecの最小の桁は異なります。nsecで表される値の方が正確です。 -
Time
# tv _ sec -> Integer (24004.0) -
起算時からの経過秒数を整数で返します。
起算時からの経過秒数を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p t # => 2000-01-02 03:04:05 +0900
p "%10.6f" % t.to_f # => "946749845.000006"
p t.to_i # => 946749845
p t.tv_sec # => 946749845
//} -
Time
# tv _ usec -> Integer (24004.0) -
時刻のマイクロ秒の部分を整数で返します。
時刻のマイクロ秒の部分を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.6f" % t.to_f #=> "946749845.000006"
p t.usec #=> 6
//} -
Time
# usec -> Integer (24004.0) -
時刻のマイクロ秒の部分を整数で返します。
時刻のマイクロ秒の部分を整数で返します。
//emlist[][ruby]{
t = Time.local(2000,1,2,3,4,5,6)
p "%10.6f" % t.to_f #=> "946749845.000006"
p t.usec #=> 6
//} -
Time
# utc -> self (24004.0) -
タイムゾーンを協定世界時に設定します。
タイムゾーンを協定世界時に設定します。
このメソッドを呼び出した後は時刻変換を協定世界時として行ないます。
Time#localtime, Time#gmtime の挙動はシステムの
localtime(3) の挙動に依存します。Time クラ
スでは時刻を起算時からの経過秒数として保持していますが、ある特定の
時刻までの経過秒は、システムがうるう秒を勘定するかどうかによって異
なる場合があります。システムを越えて Time オブジェクトを受け
渡す場合には注意する必要があります。
//emlist[][ruby]{
p t = Time.local(2000,1,1,20,15,1)... -
Time
# utc? -> bool (24004.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
# utc _ offset -> Integer (24004.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
# wday -> Integer (24004.0) -
曜日を0(日曜日)から6(土曜日)の整数で返します。
曜日を0(日曜日)から6(土曜日)の整数で返します。
//emlist[][ruby]{
p sun = Time.new(2017, 9, 17, 10, 34, 15, '+09:00') # => 2017-09-17 10:34:15 +0900
p sun.wday # => 0
p mon = Time.new(2017, 9, 18, 10, 34, 15, '+09:00') # => 2017-09-18 10:34:15 +0900
p mon.wday ... -
Time
# wednesday? -> bool (24004.0) -
self の表す時刻が水曜日である場合に true を返します。 そうでない場合に false を返します。
self の表す時刻が水曜日である場合に true を返します。
そうでない場合に false を返します。
//emlist[][ruby]{
t = Time.local(1993, 2, 24) # => 1993-02-24 00:00:00 +0900
p t.wednesday? # => true
//} -
Time
# yday -> Integer (24004.0) -
1月1日を1とした通算日(1から366まで)を整数で返します。
1月1日を1とした通算日(1から366まで)を整数で返します。
//emlist[][ruby]{
p Time.mktime(2000, 1, 1).yday # => 1
//}
うるう年の場合は、2月29日も含めた通算日を返します。
//emlist[うるう年でない場合][ruby]{
p Time.mktime(2003, 1, 1).yday # => 1
p Time.mktime(2003, 3, 1).yday # => 60
p Time.mktime(2003, 12, 31).yday # => 365
//}
//emlist[うるう年の場合][r...