ライブラリ
- ビルトイン (916)
クラス
-
ARGF
. class (19) - Array (84)
- BasicObject (14)
- Binding (7)
- Class (3)
- Complex (11)
- Dir (3)
- Encoding (2)
-
Encoding
:: Converter (10) -
Encoding
:: InvalidByteSequenceError (7) - Enumerator (11)
-
Enumerator
:: Lazy (15) -
Enumerator
:: Yielder (2) - Exception (4)
- FalseClass (2)
- Fiber (1)
- File (1)
-
File
:: Stat (23) - Float (13)
- Hash (65)
- IO (31)
- Integer (20)
- LocalJumpError (2)
- MatchData (7)
- Method (14)
- Module (47)
- NameError (3)
- NilClass (3)
- NoMethodError (2)
- Numeric (15)
- Object (69)
-
ObjectSpace
:: WeakMap (2) - Proc (5)
-
Process
:: Status (6) - Random (2)
- Range (23)
- Rational (5)
- Regexp (8)
-
RubyVM
:: InstructionSequence (11) - StopIteration (1)
- String (83)
- Struct (13)
- Symbol (33)
- SystemExit (1)
- Thread (24)
-
Thread
:: Backtrace :: Location (7) -
Thread
:: ConditionVariable (3) -
Thread
:: Mutex (4) -
Thread
:: Queue (5) -
Thread
:: SizedQueue (6) - ThreadGroup (1)
- Time (14)
- TracePoint (11)
- TrueClass (3)
- UnboundMethod (14)
- UncaughtThrowError (2)
モジュール
- Comparable (7)
- Enumerable (111)
- GC (1)
キーワード
- ! (1)
- != (1)
- !~ (1)
- % (1)
- & (1)
- ** (1)
- + (2)
- < (6)
- << (5)
- <= (6)
- <=> (2)
- == (20)
- === (7)
- =~ (2)
- > (6)
- >= (6)
- >> (1)
- [] (20)
- []= (6)
- ^ (3)
-
_ _ id _ _ (1) -
_ _ send _ _ (2) -
_ dump (1) -
abort
_ on _ exception (1) -
abort
_ on _ exception= (1) - abs (5)
- abs2 (2)
-
absolute
_ path (2) -
add
_ trace _ func (1) - alive? (1)
- all? (2)
- allocate (1)
- any? (4)
- args (1)
- arity (2)
-
ascii
_ compatible? (1) -
ascii
_ only? (1) - assoc (1)
- at (1)
- autoclose= (1)
- autoclose? (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 (1) - blksize (1)
- blockdev? (1)
- blocks (1)
- broadcast (1)
- bsearch (4)
-
bsearch
_ index (2) - bytes (7)
- bytesize (1)
- byteslice (3)
- call (2)
-
callee
_ id (1) - capitalize (1)
- casecmp (1)
- casecmp? (2)
- casefold? (1)
- chardev? (1)
- chars (1)
- chunk (1)
-
chunk
_ while (2) - clamp (2)
- class (1)
-
class
_ eval (2) -
class
_ exec (1) -
class
_ variable _ defined? (1) -
class
_ variable _ get (1) -
class
_ variable _ set (1) -
class
_ variables (1) - clone (2)
-
close
_ on _ exec= (1) -
close
_ on _ exec? (1) - closed? (3)
- codepoints (1)
- collect (3)
-
collect
_ concat (3) - combination (2)
- compact (1)
- compact! (1)
-
compare
_ by _ identity (1) -
compare
_ by _ identity? (1) - concat (2)
-
const
_ defined? (1) -
const
_ get (1) -
const
_ set (1) - constants (1)
- convert (1)
- coredump? (1)
- count (4)
- cover? (1)
- curry (4)
- cycle (4)
- default (2)
-
define
_ method (2) -
define
_ singleton _ method (2) - delete (4)
-
delete
_ at (1) - deq (2)
-
destination
_ encoding (1) -
destination
_ encoding _ name (1) - detect (2)
- dig (3)
- digits (1)
- directory? (1)
- disable (2)
- disasm (1)
- disassemble (1)
- display (1)
- downcase (1)
- drop (1)
-
drop
_ while (2) - dst? (1)
- dummy? (1)
- dump (1)
- dup (1)
- each (6)
-
each
_ byte (6) -
each
_ char (1) -
each
_ codepoint (1) -
each
_ cons (2) -
each
_ entry (2) -
each
_ key (2) -
each
_ pair (3) -
each
_ slice (2) -
each
_ value (2) -
each
_ with _ index (2) -
each
_ with _ object (2) - empty? (5)
- enable (2)
- enabled? (1)
- enclosed? (1)
- encode (3)
- encoding (1)
- end (1)
-
end
_ with? (1) - enq (1)
- entries (1)
-
enum
_ for (3) - eof (2)
- eof? (2)
- eql? (13)
- equal? (4)
-
error
_ bytes (1) - eval (2)
- even? (1)
- event (1)
-
exclude
_ end? (1) - executable? (1)
-
executable
_ real? (1) -
exit
_ value (1) - exited? (1)
- extend (1)
-
extend
_ object (1) - extended (1)
- feed (1)
- fetch (6)
-
fetch
_ values (2) - file? (1)
- find (2)
-
find
_ all (2) -
find
_ index (3) - finish (1)
- finite? (3)
- first (5)
-
first
_ lineno (1) -
fixed
_ encoding? (1) -
flat
_ map (3) - force (1)
- freeze (1)
- friday? (1)
- frozen? (1)
-
garbage
_ collect (1) - getbyte (3)
- getc (1)
- gmt? (1)
- grep (2)
-
grep
_ v (2) -
group
_ by (2) - grpowned? (1)
- gsub (4)
- gsub! (4)
-
has
_ key? (1) -
has
_ value? (1) - hash (4)
- id2name (1)
- include? (6)
-
incomplete
_ input? (1) - index (1)
- inherited (1)
- initialize (1)
-
initialize
_ copy (1) - inject (3)
- insert (1)
-
insert
_ output (1) - inspect (8)
-
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? (1)
- intern (2)
- invert (1)
- irb (1)
-
is
_ a? (1) - isatty (1)
- isdst (1)
- itself (1)
-
keep
_ if (4) - key (1)
- key? (2)
- keys (2)
-
kind
_ of? (1) - label (2)
- lambda? (1)
- last (3)
- lazy (1)
- length (1)
- lineno (1)
- lineno= (2)
-
local
_ variable _ defined? (1) -
local
_ variable _ get (1) -
local
_ variable _ set (1) -
local
_ variables (2) - locked? (1)
- magnitude (5)
- map (3)
-
marshal
_ dump (1) -
marshal
_ load (1) - match (4)
- match? (3)
- max (12)
-
max
_ by (4) - member? (3)
- members (1)
- merge (2)
- merge! (2)
- method (1)
-
method
_ defined? (1) -
method
_ id (1) -
method
_ missing (1) - methods (1)
- min (12)
-
min
_ by (4) - minmax (2)
-
minmax
_ by (2) -
module
_ eval (2) -
module
_ exec (1) - monday? (1)
- name (4)
-
named
_ captures (1) - nan? (1)
- negative? (3)
- new (1)
- next (3)
- next! (1)
- nil? (2)
- none? (2)
- nonzero? (1)
-
object
_ id (1) - oct (1)
- odd? (1)
- one? (2)
-
original
_ name (2) - owned? (2)
- owner (1)
- pack (2)
- parameters (3)
- partition (2)
- path (2)
- peek (1)
-
pending
_ interrupt? (1) - permutation (1)
- pipe? (1)
- pop (3)
- pos= (1)
- positive? (3)
- pow (2)
- prepend (1)
-
prepend
_ features (1) -
primitive
_ convert (4) - priority (1)
- priority= (1)
- private (1)
-
private
_ call? (1) -
private
_ instance _ methods (1) -
private
_ method _ defined? (1) -
private
_ methods (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 (2)
- putback (2)
- putc (2)
- puts (1)
- raise (1)
- rassoc (1)
- read (1)
-
read
_ nonblock (2) - readable? (1)
-
readable
_ real? (1) -
readagain
_ bytes (1) - readbyte (2)
- readpartial (2)
- real? (1)
- reason (1)
- receiver (3)
- reduce (3)
- regexp (1)
- rehash (1)
- reject (3)
-
remove
_ class _ variable (1) -
remove
_ const (1) -
remove
_ instance _ variable (1) -
repeated
_ combination (2) - replace (1)
- replacement= (1)
-
report
_ on _ exception (1) -
report
_ on _ exception= (1) -
respond
_ to? (1) -
respond
_ to _ missing? (1) - result (1)
- resume (1)
-
return
_ value (1) -
reverse
_ each (4) - rewind (1)
- rotate (1)
- rotate! (1)
- sample (2)
- saturday? (1)
- scan (2)
- scrub (3)
- scrub! (3)
- seek (1)
- select (7)
- select! (4)
- self (1)
- send (2)
-
set
_ backtrace (1) -
set
_ encoding (6) -
set
_ trace _ func (1) - setbyte (1)
- setgid? (1)
- setuid? (1)
- shift (4)
- signal (1)
- signaled? (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 (1)
- slice (12)
- slice! (4)
-
slice
_ after (3) -
slice
_ before (5) -
slice
_ when (2) - socket? (1)
- sort (4)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (2) -
source
_ encoding (1) -
source
_ encoding _ name (1) -
source
_ location (1) - split (1)
-
start
_ with? (1) - status (1)
- step (4)
- sticky? (1)
- stop? (1)
- stopped? (1)
- store (1)
- strftime (1)
- sub (3)
- sub! (3)
- subsec (1)
- succ (2)
- succ! (1)
- success? (2)
- sum (5)
- sunday? (1)
-
super
_ method (1) - swapcase (1)
- sync (1)
- synchronize (1)
- sysread (1)
- tag (1)
- taint (1)
- tainted? (1)
- take (1)
-
take
_ while (4) - tap (1)
-
thread
_ variable? (1) -
thread
_ variable _ get (1) -
thread
_ variable _ set (1) - thursday? (1)
-
to
_ a (4) -
to
_ ary (1) -
to
_ binary (1) -
to
_ enum (3) -
to
_ h (1) -
to
_ hash (1) -
to
_ i (1) -
to
_ int (1) -
to
_ io (1) -
to
_ proc (2) -
to
_ regexp (1) -
to
_ s (7) -
to
_ str (1) -
to
_ sym (2) -
transform
_ values (2) -
transform
_ values! (2) - trust (1)
-
try
_ lock (1) - tty? (1)
- tuesday? (1)
- unbind (1)
-
undef
_ method (1) - ungetbyte (1)
-
unicode
_ normalized? (1) - uniq (2)
- unpack (1)
- unpack1 (1)
- unshift (1)
- untaint (1)
- untrust (1)
- untrusted? (1)
- upcase (1)
- update (2)
- upto (1)
- utc? (1)
-
valid
_ encoding? (1) - value (2)
- value? (1)
- values (2)
-
values
_ at (4) - wait (1)
- wednesday? (1)
-
with
_ index (2) -
with
_ object (2) -
world
_ readable? (1) -
world
_ writable? (1) - writable? (1)
-
writable
_ real? (1) -
write
_ nonblock (1) - yield (1)
- zero? (3)
- zip (6)
- | (3)
検索結果
先頭5件
-
File
:: Stat # blocks -> Integer (42304.0) -
割り当てられているブロック数を返します。
割り当てられているブロック数を返します。
//emlist[][ruby]{
fs = File::Stat.new($0)
#例
p fs.blocks #=> nil
//} -
File
:: Stat # executable? -> bool (42304.0) -
実効ユーザ/グループIDで実行できる時に真を返します。
実効ユーザ/グループIDで実行できる時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).executable?
# 例
#=> true
//} -
File
:: Stat # executable _ real? -> bool (42304.0) -
実ユーザ/グループIDで実行できる時に真を返します。
実ユーザ/グループIDで実行できる時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).executable_real?
#例
#=> true
//} -
File
:: Stat # readable? -> bool (42304.0) -
読み込み可能な時に真を返します。
読み込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).readable? #=> true
//} -
File
:: Stat # readable _ real? -> bool (42304.0) -
実ユーザ/実グループによって読み込み可能な時に真を返します。
実ユーザ/実グループによって読み込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).readable_real? #=> true
//} -
File
:: Stat # world _ readable? -> Integer | nil (42304.0) -
全てのユーザから読めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
全てのユーザから読めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
//emlist[][ruby]{
m = File.stat("/etc/passwd").world_readable? # => 420
sprintf("%o", m) # => "644"
//} -
File
:: Stat # world _ writable? -> Integer | nil (42304.0) -
全てのユーザから書き込めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
全てのユーザから書き込めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
//emlist[][ruby]{
m = File.stat("/tmp").world_writable? # => 511
sprintf("%o", m) # => "777"
//} -
File
:: Stat # writable? -> bool (42304.0) -
書き込み可能な時に真を返します。
書き込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).writable? #=> true
//} -
File
:: Stat # writable _ real? -> bool (42304.0) -
実ユーザ/実グループによって書き込み可能な時に真を返します。
実ユーザ/実グループによって書き込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).writable_real? #=> true
//} -
Float
# abs -> Float (42304.0) -
自身の絶対値を返します。
自身の絶対値を返します。
//emlist[例][ruby]{
34.56.abs # => 34.56
-34.56.abs # => 34.56
//} -
GC
# garbage _ collect(full _ mark: true , immediate _ sweep: true) -> nil (42304.0) -
ガーベージコレクトを開始します。
ガーベージコレクトを開始します。
GC.start や ObjectSpace.#garbage_collect と同じ働きをします。
GC.disable により GC が禁止されている場合でもガベージコレクトを開始します。
nil を返します。
@param full_mark マイナー GC を動作させる場合は false を、そうでない場
合は true を指定します。
@param immediate_sweep sweep を遅らせる(Lazy Sweep を行う)場合は false
を、そう... -
Hash
# compare _ by _ identity? -> bool (42304.0) -
ハッシュがキーの一致判定をオブジェクトの同一性を用いて行っているならば真を返します。
ハッシュがキーの一致判定をオブジェクトの同一性を用いて行っているならば真を返します。
//emlist[例][ruby]{
h1 = {}
p h1.compare_by_identity? #=> false
h1.compare_by_identity
p h1.compare_by_identity? #=> true
//}
@see Hash#compare_by_identity -
IO
# binmode -> self (42304.0) -
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在
する OS でのみ有効です。そうでない場合このメソッドは何もしません。
バイナリモードから通常のモードに戻す方法は再オープンしかありません。
@raise Errno::EXXX モードの変更に失敗した場合に発生します。
//emlist[例][ruby]{
IO.open(IO.sysopen("testfile", "w+")) do |io|
io.binmode? # => false
io.binmode # => #<IO:fd 8>
io.binmode? # => true
end
... -
IO
# binmode? -> bool (42304.0) -
自身がバイナリモードなら true を返します。そうでない場合、false を返します。
自身がバイナリモードなら true を返します。そうでない場合、false を返します。
@see c:IO#io_binmode, IO#binmode -
IO
# bytes -> Enumerator (42304.0) -
このメソッドは obsolete です。 代わりに IO#each_byte を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに IO#each_byte を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see IO#each_byte -
IO
# bytes {|ch| . . . } -> self (42304.0) -
このメソッドは obsolete です。 代わりに IO#each_byte を使用してください。 使用すると警告メッセージが表示されます。
このメソッドは obsolete です。
代わりに IO#each_byte を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see IO#each_byte -
IO
# each _ byte -> Enumerator (42304.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
# 129
# 1... -
IO
# each _ byte {|ch| . . . } -> self (42304.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
# 129
# 1... -
IO
# getbyte -> Integer | nil (42304.0) -
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。
IO から1バイトを読み込み整数として返します。
既に EOF に達していれば nil を返します。
f = File.new("testfile")
f.getbyte #=> 84
f.getbyte #=> 104 -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (42304.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません... -
IO
# readbyte -> Integer (42304.0) -
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
IO から1バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise EOFError 既に EOF に達している場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "123")
File.open("testfile") do |f|
begin
f.readbyte # => 49
f.readbyte # => 50
f.readbyte # => 51
f.readbyte # => 例外発生
rescue => e
e... -
Integer
# abs -> Integer (42304.0) -
self の絶対値を返します。
self の絶対値を返します。
//emlist[][ruby]{
-12345.abs # => 12345
12345.abs # => 12345
-1234567890987654321.abs # => 1234567890987654321
//} -
Integer
# bit _ length -> Integer (42304.0) -
self を表すのに必要なビット数を返します。
self を表すのに必要なビット数を返します。
「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
//emlist[例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果][ruby]{
(-2**12-1).bit_length # => 13
(-2**12).bit_length # => 12
(-2**12+1).bit_length # => 12
-0x101.bit... -
MatchData
# begin(n) -> Integer | nil (42304.0) -
n 番目の部分文字列先頭のオフセットを返します。
n 番目の部分文字列先頭のオフセットを返します。
0 はマッチ全体を意味します。
n 番目の部分文字列がマッチしていなければ nilを返します。
@param n 部分文字列を指定する数値。
@raise IndexError 範囲外の n を指定した場合に発生します。
//emlist[例][ruby]{
/(foo)(bar)(BAZ)?/ =~ "foobarbaz"
p $~.begin(0) # => 0
p $~.begin(1) # => 0
p $~.begin(2) # => 3
p $~.begin(3) # => nil
p $~.begin(4... -
Method
# unbind -> UnboundMethod (42304.0) -
self のレシーバとの関連を取り除いた UnboundMethod オブ ジェクトを生成して返します。
self のレシーバとの関連を取り除いた UnboundMethod オブ
ジェクトを生成して返します。
//emlist[例][ruby]{
class Foo
def foo
"foo"
end
end
m = Foo.new.method(:foo) # => #<Method: Foo#foo>
unbound_method = m.unbind # => #<UnboundMethod: Foo#foo>
unbound_method.bind(Foo.new) # => #<Method: Foo#foo>
//} -
Module
# class _ variable _ defined?(name) -> bool (42304.0) -
name で与えられた名前のクラス変数がモジュールに存在する場合 true を 返します。
name で与えられた名前のクラス変数がモジュールに存在する場合 true を
返します。
@param name Symbol か String を指定します。
//emlist[例][ruby]{
class Fred
@@foo = 99
end
Fred.class_variable_defined?(:@@foo) #=> true
Fred.class_variable_defined?(:@@bar) #=> false
Fred.class_variable_defined?('@@foo') #=> true
Fred.class_variable... -
Module
# class _ variable _ get(name) -> object (42304.0) -
クラス/モジュールに定義されているクラス変数 name の値を返します。
クラス/モジュールに定義されているクラス変数 name の値を返します。
@param name String または Symbol を指定します。
@raise NameError クラス変数 name が定義されていない場合、発生します。
//emlist[例][ruby]{
class Fred
@@foo = 99
end
def Fred.foo
class_variable_get(:@@foo)
end
p Fred.foo #=> 99
//} -
Module
# class _ variable _ set(name , val) -> object (42304.0) -
クラス/モジュールにクラス変数 name を定義して、その値として val をセットします。val を返します。
クラス/モジュールにクラス変数 name を定義して、その値として
val をセットします。val を返します。
@param name String または Symbol を指定します。
//emlist[例][ruby]{
class Fred
@@foo = 99
def foo
@@foo
end
end
def Fred.foo(val)
class_variable_set(:@@foo, val)
end
p Fred.foo(101) # => 101
p Fred.new.foo # => 101
//} -
Module
# class _ variables(inherit = true) -> [Symbol] (42304.0) -
クラス/モジュールに定義されているクラス変数の名前の配列を返します。
クラス/モジュールに定義されているクラス変数の名前の配列を返します。
@param inherit false を指定しない場合はスーパークラスやインクルードして
いるモジュールのクラス変数を含みます。
//emlist[例][ruby]{
class One
@@var1 = 1
end
class Two < One
@@var2 = 2
end
One.class_variables # => [:@@var1]
Two.class_variables # => [:@@var2, :@@var1]
Two.class_va... -
Module
# public _ class _ method(*name) -> self (42304.0) -
name で指定したクラスメソッド (クラスの特異メソッド) の 可視性を public に変更します。
name で指定したクラスメソッド (クラスの特異メソッド) の
可視性を public に変更します。
@param name 0 個以上の String または Symbol を指定します。
//emlist[例][ruby]{
class Foo
def self.foo
"foo"
end
private_class_method :foo
end
Foo.foo # NoMethodError: private method `foo' called for Foo:Class
Foo.public_class_method(:foo) # => F... -
Module
# public _ constant(*name) -> self (42304.0) -
name で指定した定数の可視性を public に変更します。
name で指定した定数の可視性を public に変更します。
@param name 0 個以上の String か Symbol を指定します。
@raise NameError 存在しない定数を指定した場合に発生します。
@return self を返します。
//emlist[例][ruby]{
module SampleModule
class SampleInnerClass
end
# => 非公開クラスであることを明示するために private にする
private_constant :SampleInnerClass
end
begin
... -
Module
# public _ instance _ method(name) -> UnboundMethod (42304.0) -
self の public インスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
self の public インスタンスメソッド name をオブジェクト化した UnboundMethod を返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError 定義されていないメソッド名や、
protected メソッド名、 private メソッド名を引数として与えると発生します。
//emlist[例][ruby]{
Kernel.public_instance_method(:object_id) #=> #<UnboundMethod: Kernel#object_id>
Ke... -
Module
# public _ instance _ methods(inherited _ too = true) -> [Symbol] (42304.0) -
そのモジュールで定義されている public メソッド名 の一覧を配列で返します。
そのモジュールで定義されている public メソッド名
の一覧を配列で返します。
@param inherited_too false を指定するとそのモジュールで定義されているメソッドのみ返します。
@see Object#public_methods, Module#instance_methods -
Module
# remove _ class _ variable(name) -> object (42304.0) -
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ れていた値を返します。
引数で指定したクラス変数を取り除き、そのクラス変数に設定さ
れていた値を返します。
@param name String または Symbol を指定します。
@return 引数で指定されたクラス変数に設定されていた値を返します。
@raise NameError 引数で指定されたクラス変数がそのモジュールやクラスに定義されていない場合に発生します。
//emlist[例][ruby]{
class Foo
@@foo = 1
remove_class_variable(:@@foo) # => 1
p @@foo # => uninitialized clas... -
Numeric
# abs -> Numeric (42304.0) -
自身の絶対値を返します。
自身の絶対値を返します。
//emlist[例][ruby]{
12.abs #=> 12
(-34.56).abs #=> 34.56
-34.56.abs #=> 34.56
//} -
Numeric
# abs2 -> Numeric (42304.0) -
自身の絶対値の 2 乗を返します。
自身の絶対値の 2 乗を返します。
//emlist[例][ruby]{
2.abs2 # => 4
-2.abs2 # => 4
2.0.abs2 # => 4
-2.0.abs2 # => 4
//}
Numeric のサブクラスは、このメソッドを適切に再定義しなければなりません。 -
Object
# instance _ variable _ get(var) -> object | nil (42304.0) -
オブジェクトのインスタンス変数の値を取得して返します。
オブジェクトのインスタンス変数の値を取得して返します。
インスタンス変数が定義されていなければ nil を返します。
@param var インスタンス変数名を文字列か Symbol で指定します。
//emlist[][ruby]{
class Foo
def initialize
@foo = 1
end
end
obj = Foo.new
p obj.instance_variable_get("@foo") #=> 1
p obj.instance_variable_get(:@foo) #=> 1
p obj.instance_variab... -
Object
# instance _ variable _ set(var , value) -> object (42304.0) -
オブジェクトのインスタンス変数 var に値 value を設定します。
オブジェクトのインスタンス変数 var に値 value を設定します。
インスタンス変数が定義されていなければ新たに定義されます。
@param var インスタンス変数名を文字列か Symbol で指定します。
@param value 設定する値です。
@return value を返します。
//emlist[][ruby]{
obj = Object.new
p obj.instance_variable_set("@foo", 1) #=> 1
p obj.instance_variable_set(:@foo, 2) #=> 2
p obj.instance_var... -
Object
# instance _ variables -> [Symbol] (42304.0) -
オブジェクトのインスタンス変数名をシンボルの配列として返します。
オブジェクトのインスタンス変数名をシンボルの配列として返します。
//emlist[][ruby]{
obj = Object.new
obj.instance_eval { @foo, @bar = nil }
p obj.instance_variables
#=> [:@foo, :@bar]
//}
@see Object#instance_variable_get, Kernel.#local_variables, Kernel.#global_variables, Module.constants, Module#constants, Module#class_variabl... -
Object
# public _ method(name) -> Method (42304.0) -
オブジェクトの public メソッド name をオブジェクト化した Method オブジェクトを返します。
オブジェクトの public メソッド name をオブジェクト化した
Method オブジェクトを返します。
@param name メソッド名を Symbol または String で指定します。
@raise NameError 定義されていないメソッド名や、
protected メソッド名、 private メソッド名を引数として与えると発生します。
//emlist[][ruby]{
1.public_method(:to_int) #=> #<Method: Integer#to_int>
1.public_method(:p) # method ... -
Object
# public _ methods(include _ inherited = true) -> [Symbol] (42304.0) -
そのオブジェクトが理解できる public メソッド名の一覧を返します。
そのオブジェクトが理解できる public メソッド名の一覧を返します。
@param include_inherited 偽となる値を指定すると自身のクラスのスーパークラスで定義されたメソッドを除きます。
@see Module#public_instance_methods,Object#methods,Object#singleton_methods -
Object
# public _ send(name , *args) -> object (42304.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
Object
# public _ send(name , *args) { . . . . } -> object (42304.0) -
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ ドの実行結果を返します。
オブジェクトの public メソッド name を args を引数にして呼び出し、メソッ
ドの実行結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
//emlist[][ruby]{
1.public_send(:+, 2) # => 3
//}
@param name 文字列かSymbol で指定するメソッド名です。
@param args 呼び出すメソッドに渡す引数です。
@raise ArgumentError name を指定しなかった場合に発生します。
@raise NoMethodError protected メソッドや priv... -
Object
# remove _ instance _ variable(name) -> object (42304.0) -
オブジェクトからインスタンス変数 name を取り除き、そのインス タンス変数に設定されていた値を返します。
オブジェクトからインスタンス変数 name を取り除き、そのインス
タンス変数に設定されていた値を返します。
@param name 削除するインスタンス変数の名前をシンボルか文字列で指定します。
@raise NameError オブジェクトがインスタンス変数 name を持たない場合に発生します。
//emlist[][ruby]{
class Foo
def foo
@foo = 1
p remove_instance_variable(:@foo) #=> 1
p remove_instance_variable(:@foo) # instance v... -
Random
# bytes(size) -> String (42304.0) -
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
ランダムなバイナリー文字列を返します。結果の文字列のサイズを指定できます。
@param size 結果の文字列のサイズをバイト数で指定します。
//emlist[例][ruby]{
r2 = Random.new(1)
p r2.bytes(10) # => "%\xF4\xC1j\xEB\x80G\xFF\x8C/"
//} -
Range
# begin -> object (42304.0) -
始端の要素を返します。 始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
始端の要素を返します。
始端を持たない範囲オブジェクトの場合、begin はnilを返しますが, first は例外 RangeError が発生します。
//emlist[例][ruby]{
# 始端を持つ場合
p (1..5).begin # => 1
p (1..0).begin # => 1
p (1..5).first # => 1
p (1..0).first # => 1
# 始端を持たない場合
p (..5).begin #=> nil
p (..5).first #=> RangeError
//}
@see Range#end -
Range
# bsearch -> Enumerator (42304.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要... -
Range
# bsearch {|obj| . . . } -> object | nil (42304.0) -
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二 分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を 返します。
ブロックの評価結果で範囲内の各要素の大小判定を行い、条件を満たす値を二
分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を
返します。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返す
* 求める値がブロックパラメータより後の要... -
Rational
# abs -> Rational (42304.0) -
自身の絶対値を返します。
自身の絶対値を返します。
//emlist[例][ruby]{
Rational(1, 2).abs # => (1/2)
Rational(-1, 2).abs # => (1/2)
//} -
RubyVM
:: InstructionSequence # absolute _ path -> String | nil (42304.0) -
self が表す命令シーケンスの絶対パスを返します。
self が表す命令シーケンスの絶対パスを返します。
self を文字列から作成していた場合は nil を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.absolute_path
# => nil
例2: RubyVM::InstructionSequence.compile_file を使用した場合
# /tmp/method.... -
RubyVM
:: InstructionSequence # base _ label -> String (42304.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 # disassemble -> String (42304.0) -
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
self が表す命令シーケンスを人間が読める形式の文字列に変換して返します。
puts RubyVM::InstructionSequence.compile('1 + 2').disasm
出力:
== disasm: <RubyVM::InstructionSequence:<compiled>@<compiled>>==========
0000 trace 1 ( 1)
0002 putobject 1
0004 putobje... -
RubyVM
:: InstructionSequence # label -> String (42304.0) -
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、 モジュール名などで構成されます。
self が表す命令シーケンスのラベルを返します。通常、メソッド名、クラス名、
モジュール名などで構成されます。
トップレベルでは "<main>" を返します。self を文字列から作成していた場合
は "<compiled>" を返します。
例1:irb で実行した場合
iseq = RubyVM::InstructionSequence.compile('num = 1 + 2')
# => <RubyVM::InstructionSequence:<compiled>@<compiled>>
iseq.label
# => "<compiled>"
例2: R... -
String
# bytes -> [Integer] (42304.0) -
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
文字列の各バイトを数値の配列で返します。(self.each_byte.to_a と同じです)
//emlist[例][ruby]{
"str".bytes # => [115, 116, 114]
//}
ブロックが指定された場合は String#each_byte と同じように動作します。
Ruby 2.6 までは deprecated の警告が出ますが、Ruby 2.7 で警告は削除されました。
@see String#each_byte -
String
# bytesize -> Integer (42304.0) -
文字列のバイト長を整数で返します。
文字列のバイト長を整数で返します。
//emlist[例][ruby]{
#coding:UTF-8
# 実行結果は文字コードによって異なります。
p "いろは".size #=> 3
p "いろは".bytesize #=> 9
//}
@see String#size -
String
# byteslice(nth) -> String | nil (42304.0) -
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。 引数が範囲外を指定した場合は nil を返します。
nth バイト目の文字を返します。nth が負の場合は文字列の末尾から数えます。
引数が範囲外を指定した場合は nil を返します。
@param nth 文字の位置を表す整数を指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1) # => "e"
"hello".byteslice(-1) # => "o"
"\u3042".byteslice(0) # => "\xE3"
"\u3042".byteslice(1) # => "\x... -
String
# byteslice(nth , len=1) -> String | nil (42304.0) -
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。 nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は nil を返します。
nth バイト目から長さ len バイトの部分文字列を新しく作って返します。
nth が負の場合は文字列の末尾から数えます。引数が範囲外を指定した場合は
nil を返します。
@param nth 取得したい文字列の開始バイトを整数で指定します。
@param len 取得したい文字列の長さを正の整数で指定します。
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1, 2) # => "el"
"\u3042\u3044\u... -
String
# byteslice(range) -> String | nil (42304.0) -
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲 外を指定した場合は nil を返します。
range で指定したバイトの範囲に含まれる部分文字列を返します。引数が範囲
外を指定した場合は nil を返します。
@param range 取得したい文字列の範囲を示す Range オブジェクト
@return 切り出した文字列を返します。戻り値の文字エンコーディングは自身
と同じです。
//emlist[例][ruby]{
"hello".byteslice(1..2) # => "el"
"\x03\u3042\xff".byteslice(1..3) # => "\u3042"
//}
@see String#slice -
String
# each _ byte -> Enumerator (42304.0) -
文字列の各バイトに対して繰り返します。
文字列の各バイトに対して繰り返します。
//emlist[例][ruby]{
"str".each_byte do |byte|
p byte
end
# => 115
# => 116
# => 114
"あ".each_byte do |byte|
p byte
end
# => 227
# => 129
# => 130
//}
@see String#bytes -
String
# getbyte(index) -> Integer | nil (42304.0) -
index バイト目のバイトを整数で返します。
index バイト目のバイトを整数で返します。
index に負を指定すると末尾から数えた位置のバイト
を取り出します。
範囲外を指定した場合は nil を返します。
@param index バイトを取り出す位置
//emlist[例][ruby]{
s = "tester"
s.bytes # => [116, 101, 115, 116, 101, 114]
s.getbyte(0) # => 116
s.getbyte(1) # => 101
s.getbyte(-1) # => 114
s.getbyte(6) ... -
String
# scrub -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub {|bytes| . . . } -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub! {|bytes| . . . } -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub!(repl) -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えます。常に self を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
String
# scrub(repl) -> String (42304.0) -
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
self が不正なバイト列を含む場合に別の文字列に置き換えた新しい文字列を返します。
@param repl 不正なバイト列を置き換える文字列を指定します。省略した場合
は self の文字エンコーディングが Encoding::UTF_16BE,
Encoding::UTF_16LE, Encoding::UTF_32BE,
Encoding::UTF_32LE, Encoding::UTF_8 のいずれか
の場合は "\uFFFD" を表す文字で、それ以外の場合は "?" で置き
... -
Struct
# members -> [Symbol] (42304.0) -
構造体のメンバの名前(Symbol)の配列を返します。
構造体のメンバの名前(Symbol)の配列を返します。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
p Foo.new.members # => [:foo, :bar]
//}
[注意] 本メソッドの記述は Struct の下位クラスのインスタンスに対して呼び
出す事を想定しています。Struct.new は Struct の下位クラスを作成する点に
注意してください。 -
Thread
# abort _ on _ exception=(newstate) (42304.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
# backtrace -> [String] | nil (42304.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
# thread _ variable?(key) -> bool (42304.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 (42304.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
:: Backtrace :: Location # absolute _ path -> String (42304.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 # label -> String (42304.0) -
self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ ジュール名などで構成されます。
self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ
ジュール名などで構成されます。
例: Thread::Backtrace::Location の例1を用いた例
//emlist[][ruby]{
loc = c(0..1).first
loc.label # => "a"
//}
@see Thread::Backtrace::Location#base_label -
Thread
:: ConditionVariable # broadcast -> self (42304.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)
... -
Time
# subsec -> Integer | Rational (42304.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 で得られる値が正確です。 -
TracePoint
# disable -> bool (42304.0) -
self のトレースを無効にします。
self のトレースを無効にします。
実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)
//emlist[例][ruby]{
trace.enabled? # => true
trace.disable # => false (実行前の状態)
trace.enabled? # => false
trace.disable # => false
//}
ブロックが与えられた場合、ブロック内でのみトレースが無効になります。
この場合はブロックの評価結果を返します。
//e... -
TracePoint
# disable { . . . } -> object (42304.0) -
self のトレースを無効にします。
self のトレースを無効にします。
実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)
//emlist[例][ruby]{
trace.enabled? # => true
trace.disable # => false (実行前の状態)
trace.enabled? # => false
trace.disable # => false
//}
ブロックが与えられた場合、ブロック内でのみトレースが無効になります。
この場合はブロックの評価結果を返します。
//e... -
TracePoint
# enable -> bool (42304.0) -
self のトレースを有効にします。
self のトレースを有効にします。
実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)
//emlist[例][ruby]{
trace.enabled? # => false
trace.enable # => false (実行前の状態)
# トレースが有効
trace.enabled? # => true
trace.enable # => true (実行前の状態)
# 引き続きトレースが有効
//}
ブロックが与えられた場合、ブロック内でのみ... -
TracePoint
# enable { . . . } -> object (42304.0) -
self のトレースを有効にします。
self のトレースを有効にします。
実行前の TracePoint#enabled? を返します。(トレースが既に有効であっ
た場合は true を返します。そうでなければ false を返します)
//emlist[例][ruby]{
trace.enabled? # => false
trace.enable # => false (実行前の状態)
# トレースが有効
trace.enabled? # => true
trace.enable # => true (実行前の状態)
# 引き続きトレースが有効
//}
ブロックが与えられた場合、ブロック内でのみ... -
TracePoint
# enabled? -> bool (42304.0) -
self のトレースが有効な場合に true を、そうでない場合に false を返しま す。
self のトレースが有効な場合に true を、そうでない場合に false を返しま
す。
@see TracePoint#enable, TracePoint#disable -
UnboundMethod
# bind(obj) -> Method (42304.0) -
self を obj にバインドした Method オブジェクトを生成して返します。
self を obj にバインドした Method オブジェクトを生成して返します。
@param obj 自身をバインドしたいオブジェクトを指定します。ただしバインドできるのは、
生成元のクラスかそのサブクラスのインスタンスのみです。
@raise TypeError objがbindできないオブジェクトである場合に発生します
//emlist[例][ruby]{
# クラスのインスタンスメソッドの UnboundMethod の場合
class Foo
def foo
"foo"
end
end
# UnboundMethod `m' を生... -
Enumerable
# cycle(n=nil) {|obj| . . . } -> object | nil (33694.0) -
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し ブロックを呼びだします。
Enumerable オブジェクトの各要素を n 回 or 無限回(n=nil)繰り返し
ブロックを呼びだします。
n に 0 もしくは負の値を渡した場合は何もしません。
繰り返しが最後まで終了した場合(つまりbreakなどで中断しなかった場合)
は nil を返します。
このメソッドは内部の配列に各要素を保存しておくため、
一度 Enumerable の終端に到達した後に自分自身を変更しても
このメソッドの動作に影響を与えません。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c,... -
Enumerable
# minmax -> [object , object] (33643.0) -
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を 要素とするサイズ 2 の配列を返します。
Enumerable オブジェクトの各要素のうち最小の要素と最大の要素を
要素とするサイズ 2 の配列を返します。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
一つ目の形式は、Enumerable オブジェクトのすべての要素が Comparable を
実装していることを仮定しています。二つ目の形式では、要素同士の比較を
ブロックを用いて行います。
//emlist[例][ruby]{
a = %w(albatross dog horse)
a.minmax #=> ["albatross", "hors... -
BasicObject
# instance _ eval {|obj| . . . } -> object (33604.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
Enumerable
# partition {|item| . . . } -> [[object] , [object]] (33604.0) -
各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。 各要素に対してブロックを評価して、その値が真であった要素の配列と、 偽であった要素の配列の 2 つを配列に入れて返します。
各要素を、ブロックの条件を満たす要素と満たさない要素に分割します。
各要素に対してブロックを評価して、その値が真であった要素の配列と、
偽であった要素の配列の 2 つを配列に入れて返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0].partition {|i| i % 3 == 0 }
#=> [[9, 6, 3, 0], [10, 8, 7, 5, 4, 2, 1]]
//} -
Object
# define _ singleton _ method(symbol) { . . . } -> Symbol (33604.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# define _ singleton _ method(symbol , method) -> Symbol (33604.0) -
self に特異メソッド name を定義します。
self に特異メソッド name を定義します。
@param symbol メソッド名を String または Symbol で指定します。
@param method Proc、Method あるいは UnboundMethod の
いずれかのインスタンスを指定します。
@return メソッド名を表す Symbol を返します。
//emlist[][ruby]{
class A
class << self
def class_name
to_s
end
end
end
A.define_singleton_me... -
Object
# initialize _ copy(obj) -> object (33604.0) -
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
(拡張ライブラリによる) ユーザ定義クラスのオブジェクトコピーの初期化メソッド。
このメソッドは self を obj の内容で置き換えます。ただ
し、self のインスタンス変数や特異メソッドは変化しません。
Object#clone, Object#dupの内部で使われています。
initialize_copy は、Ruby インタプリタが知り得ない情報をコピーするた
めに使用(定義)されます。例えば C 言語でクラスを実装する場合、情報
をインスタンス変数に保持させない場合がありますが、そういった内部情
報を initialize_copy でコピーするよう定義しておくことで、du... -
Object
# marshal _ load(obj) -> object (33604.0) -
Marshal.#load を制御するメソッドです。
Marshal.#load を制御するメソッドです。
some のダンプ結果(Marshal.dump(some)) をロードする(Marshal.load(Marshal.dump(some)))に
は some がメソッド marshal_load を持っていなければなりません。
このとき、marshal_dump の返り値が marshal_load の引数に利用されます。
marshal_load 時の self は、生成されたばかり(Class#allocate されたばかり) の状態です。
marshal_dump/marshal_load の仕組みは Ruby 1.8.0 ... -
Object
# respond _ to _ missing?(symbol , include _ private) -> bool (33604.0) -
自身が symbol で表されるメソッドに対し BasicObject#method_missing で反応するつもりならば真を返します。
自身が symbol で表されるメソッドに対し
BasicObject#method_missing で反応するつもりならば真を返します。
Object#respond_to? はメソッドが定義されていない場合、
デフォルトでこのメソッドを呼びだし問合せます。
BasicObject#method_missing を override した場合にこのメソッドも
override されるべきです。
false を返します。
@param symbol メソッド名シンボル
@param include_private private method も含めたい場合に true が渡されます... -
Enumerable
# zip(*lists) -> [[object]] (33448.0) -
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
self と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。配列でない場合は to_ary メソッドにより配列に変換します。
to_ary メソッドが無い場合は each を試します。
//emlist[例][ruby]{
p (1..3).zip([4,5,6], [7,8,9])
# => [[1, 4, 7], [2, 5, 8], [3,... -
Enumerable
# max {|a , b| . . . } -> object | nil (33400.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# max(n) {|a , b| . . . } -> Array (33400.0) -
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が入った降順の配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の
n 要素が入った降順の配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、
a == b のとき 0、a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
@raise TypeError ブロックが整数以外を返したときに発生します。
//emlist[例][ruby]{
class Person
... -
Enumerable
# sort -> [object] (33397.0) -
全ての要素を昇順にソートした配列を生成して返します。
全ての要素を昇順にソートした配列を生成して返します。
ブロックなしのときは <=> メソッドを要素に対して呼び、
その結果をもとにソートします。
<=> 以外でソートしたい場合は、ブロックを指定します。
この場合、ブロックの評価結果を元にソートします。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
ブロックが整数以外を返したときは例外 TypeError が発生します。
Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_b... -
Enumerable
# sort {|a , b| . . . } -> [object] (33397.0) -
全ての要素を昇順にソートした配列を生成して返します。
全ての要素を昇順にソートした配列を生成して返します。
ブロックなしのときは <=> メソッドを要素に対して呼び、
その結果をもとにソートします。
<=> 以外でソートしたい場合は、ブロックを指定します。
この場合、ブロックの評価結果を元にソートします。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
ブロックが整数以外を返したときは例外 TypeError が発生します。
Enumerable#sort は安定ではありません (unstable sort)。
安定なソートが必要な場合は Enumerable#sort_b... -
Object
# clone(freeze: true) -> object (33376.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Object
# dup -> object (33376.0) -
オブジェクトの複製を作成して返します。
オブジェクトの複製を作成して返します。
dup はオブジェクトの内容, taint 情報をコピーし、
clone はそれに加えて freeze, 特異メソッドなどの情報も含めた完全な複製を作成します。
clone や dup は浅い(shallow)コピーであることに注意してください。後述。
TrueClass, FalseClass, NilClass, Symbol, そして Numeric クラスのインスタンスなど一部のオブジェクトは複製ではなくインスタンス自身を返します。
@param freeze false を指定すると freeze されていないコピーを返します。
@r... -
Enumerable
# min {|a , b| . . . } -> object | nil (33364.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# min(n) {|a , b| . . . } -> Array (33364.0) -
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。 引数を指定しない形式では要素が存在しなければ nil を返します。 引数を指定する形式では、空の配列を返します。
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の
n 要素が昇順で入った配列を返します。
引数を指定しない形式では要素が存在しなければ nil を返します。
引数を指定する形式では、空の配列を返します。
ブロックの値は、a > b のとき正、a == b のとき 0、
a < b のとき負の整数を、期待しています。
該当する要素が複数存在する場合、どの要素を返すかは不定です。
@param n 取得する要素数。
//emlist[例][ruby]{
class Person
attr_reader :name, :age
def initialize... -
Enumerable
# chunk _ while {|elt _ before , elt _ after| . . . } -> Enumerator (33358.0) -
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け た(グループ化した)要素を持つEnumerator を返します。
要素を前から順にブロックで評価し、その結果によって要素をチャンクに分け
た(グループ化した)要素を持つEnumerator を返します。
隣り合う値をブロックパラメータ elt_before、elt_after に渡し、ブロックの
評価値が偽になる所でチャンクを区切ります。
ブロックは self の長さ - 1 回呼び出されます。
@return チャンクごとの配列をブロックパラメータに渡す Enumerator
を返します。eachメソッドは以下のように呼び出します。
//emlist{
enum.chunk_while { |elt_before, elt_af...