クラス
-
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件
-
Array
# select {|item| . . . } -> [object] (10.0) -
各要素に対してブロックを評価した値が真であった要素を全て含む配列を 返します。真になる要素がひとつもなかった場合は空の配列を返します。
各要素に対してブロックを評価した値が真であった要素を全て含む配列を
返します。真になる要素がひとつもなかった場合は空の配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
[1,2,3,4,5].select # => #<Enumerator: [1, 2, 3, 4, 5]:select>
[1,2,3,4,5].select { |num| num.even? } # => [2, 4]
//}
@see Enumerable#select
@see Array#select... -
Array
# select! -> Enumerator (10.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Array
# select! {|item| block } -> self | nil (10.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 変更があった場合は self を、 変更がなかった場合には nil を返します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
変更があった場合は self を、
変更がなかった場合には nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.select! {|v| v =~ /[a-z]/ } # => nil
a # => ["a", "b", "c", "d", "e", "f"]
//}
ブロックが与えられなかった場合は、自身と select! から生成した
Enumerator オブジェクトを返します。
@see Array#keep_if, Array#reject! -
Array
# shift -> object | nil (10.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
配列の先頭の要素を取り除いてそれを返します。
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
空配列の場合、n が指定されていない場合は nil を、
指定されている場合は空配列を返します。
また、n が自身の要素数より少ない場合はその要素数の配列を
返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@param n 自身から取り除きたい要素の個数を非負整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# shift(n) -> Array (10.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
配列の先頭の要素を取り除いてそれを返します。
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
空配列の場合、n が指定されていない場合は nil を、
指定されている場合は空配列を返します。
また、n が自身の要素数より少ない場合はその要素数の配列を
返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@param n 自身から取り除きたい要素の個数を非負整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# shuffle -> Array (10.0) -
配列の要素をランダムシャッフルして,その結果を配列として返します。
配列の要素をランダムシャッフルして,その結果を配列として返します。
引数に Random オブジェクトを渡すことでそのオブジェクトが
生成する擬似乱数列を用いることができます。
//emlist[例][ruby]{
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
rng = Random.new
rng2 = rng.dup # RNGを複製
# 以下の2つは同じ結果を返す
[1,2,3].shuffle(random: rng)
[1,2,3].shuffle(random:... -
Array
# shuffle! -> self (10.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# shuffle!(random: Random) -> self (10.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# shuffle(random: Random) -> Array (10.0) -
配列の要素をランダムシャッフルして,その結果を配列として返します。
配列の要素をランダムシャッフルして,その結果を配列として返します。
引数に Random オブジェクトを渡すことでそのオブジェクトが
生成する擬似乱数列を用いることができます。
//emlist[例][ruby]{
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
rng = Random.new
rng2 = rng.dup # RNGを複製
# 以下の2つは同じ結果を返す
[1,2,3].shuffle(random: rng)
[1,2,3].shuffle(random:... -
Array
# size -> Integer (10.0) -
配列の長さを返します。配列が空のときは 0 を返します。
配列の長さを返します。配列が空のときは 0 を返します。
//emlist[例][ruby]{
p [1, nil, 3, nil].size #=> 4
//} -
Array
# slice!(nth) -> object | nil (10.0) -
指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。
指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil
を返します。
@param nth 取り除く要素のインデックスを整数で指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.slice!(1) #=> "b"
a #=> ["a", "c"]
a.slice!(-1) #=> "c"
a #=> ["a"]
a.slice!(100) #=> nil
a #=> ["a"]
//} -
Array
# slice!(range) -> Array | nil (10.0) -
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil
を返します。
@param start 削除したい部分配列の先頭のインデックスを整数で指定します。
@param len 削除したい部分配列の長さを整数で指定します。
@param range 削除したい配列の範囲を Range オブジェクトで指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.slice!(1, 2) #=> ["b", "c"]
a #=> ["a"]
a = [ "a", "... -
Array
# slice!(start , len) -> Array | nil (10.0) -
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil
を返します。
@param start 削除したい部分配列の先頭のインデックスを整数で指定します。
@param len 削除したい部分配列の長さを整数で指定します。
@param range 削除したい配列の範囲を Range オブジェクトで指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.slice!(1, 2) #=> ["b", "c"]
a #=> ["a"]
a = [ "a", "... -
Array
# slice(nth) -> object | nil (10.0) -
指定された自身の要素を返します。Array#[] と同じです。
指定された自身の要素を返します。Array#[] と同じです。
@param nth 要素のインデックスを整数で指定します。Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(1) #=> 1
p [0, 1, 2].slice(2) #=> 2
p [0, 1, 2].slice(10) #=> nil
//} -
Array
# slice(pos , len) -> Array | nil (10.0) -
指定された自身の部分配列を返します。Array#[] と同じです。
指定された自身の部分配列を返します。Array#[] と同じです。
@param pos Array#[] と同じです。
@param len Array#[] と同じです。
@param range Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0, 1, 2].slice(10, 1) #=> nil
//} -
Array
# slice(range) -> Array | nil (10.0) -
指定された自身の部分配列を返します。Array#[] と同じです。
指定された自身の部分配列を返します。Array#[] と同じです。
@param pos Array#[] と同じです。
@param len Array#[] と同じです。
@param range Array#[] と同じです。
//emlist[例][ruby]{
p [0, 1, 2].slice(0, 2) #=> [0, 1]
p [0, 1, 2].slice(2..3) #=> [2]
p [0, 1, 2].slice(10, 1) #=> nil
//} -
Array
# sort -> Array (10.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort {|a , b| . . . } -> Array (10.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort! -> self (10.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort! {|a , b| . . . } -> self (10.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort _ by! -> Enumerator (10.0) -
sort_by の破壊的バージョンです。
sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by -
Array
# sort _ by! {|item| . . . } -> self (10.0) -
sort_by の破壊的バージョンです。
sort_by の破壊的バージョンです。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
fruits = %w{apple pear fig}
fruits.sort_by! { |word| word.length }
fruits # => ["fig", "pear", "apple"]
//}
@see Enumerable#sort_by -
Array
# take(n) -> Array (10.0) -
配列の先頭から n 要素を配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の先頭から n 要素を配列として返します。
このメソッドは自身を破壊的に変更しません。
@param n 要素数を指定します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take(3) # => [1, 2, 3]
//}
@see Enumerable#take -
Array
# take _ while -> Enumerator (10.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# take _ while {|element| . . . } -> Array (10.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# to _ a -> Array (10.0) -
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、 自身を Array に変換したものを返します。
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、
自身を Array に変換したものを返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_a # => [1, 2, 3, 4]
ary1.to_a.class # => Array
ary2.to_a # => [1, 2, 3, 4]
ary2.to_a.class # => Ar... -
Array
# to _ ary -> self (10.0) -
self をそのまま返します。
self をそのまま返します。
//emlist[例][ruby]{
class SubArray < Array; end
ary1 = Array([1, 2, 3, 4])
ary2 = SubArray([1, 2, 3, 4])
ary1.to_ary # => [1, 2, 3, 4]
ary1.to_ary.class # => Array
ary2.to_ary # => [1, 2, 3, 4]
ary2.to_ary.class # => SubArray
//}
@see Array#to_a -
Array
# to _ h -> Hash (10.0) -
self を [key, value] のペアの配列として解析した結果を Hash にして 返します。
self を [key, value] のペアの配列として解析した結果を Hash にして
返します。
//emlist[例][ruby]{
bar], [1, 2.to_h # => {:foo => :bar, 1 => 2}
//} -
Array
# to _ s -> String (10.0) -
自身の情報を人間に読みやすい文字列にして返します。
自身の情報を人間に読みやすい文字列にして返します。
//emlist[例][ruby]{
[1, 2, 3, 4].to_s # => "[1, 2, 3, 4]"
[1, 2, 3, 4].inspect # => "[1, 2, 3, 4]"
//} -
Array
# transpose -> Array (10.0) -
自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま す。転置した配列を生成して返します。空の配列に対しては空の配列を生 成して返します。
自身を行列と見立てて、行列の転置(行と列の入れ換え)を行いま
す。転置した配列を生成して返します。空の配列に対しては空の配列を生
成して返します。
それ以外の一次元の配列に対しては、例外
TypeError が発生します。各要素のサイズが不揃いな配列に対して
は、例外 IndexError が発生します。
//emlist[例][ruby]{
p [[1,2],
[3,4],
[5,6]].transpose
# => [[1, 3, 5], [2, 4, 6]]
p [].transpose
# => []
p [1,2,3].transpose
# => -:1:i... -
Array
# uniq -> Array (10.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
Array
# uniq {|item| . . . } -> Array (10.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
Array
# uniq! -> self | nil (10.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
Array
# uniq! {|item| . . . } -> self | nil (10.0) -
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、 そうでなければnil を返します。
uniq は配列から重複した要素を取り除いた新しい配列を返します。
uniq! は削除を破壊的に行い、削除が行われた場合は self を、
そうでなければnil を返します。
取り除かれた要素の部分は前に詰められます。
要素の重複判定は、Object#eql? により行われます。
//emlist[例][ruby]{
p [1, 1, 1].uniq # => [1]
p [1, 4, 1].uniq # => [1, 4]
p [1, 3, 2, 2, 3].uniq # => [1, 3, 2]
//}
ブロックが与えられた場合、ブロックが返した... -
Array
# unshift(*obj) -> self (10.0) -
指定された obj を引数の最後から順番に配列の先頭に挿入します。 引数を指定しなければ何もしません。
指定された obj を引数の最後から順番に配列の先頭に挿入します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
arr = [1,2,3]
arr.unshift 0
p arr #=> [0, 1, 2, 3]
arr.unshift [0]
p arr #=> [[0], 0, 1, 2, 3]
arr.unshift 1, 2
p arr #=> [1, 2, [0], 0, 1, 2, 3]
//}
@see A... -
Array
# values _ at(*selectors) -> Array (10.0) -
引数で指定されたインデックスに対応する要素を配列で返します。インデッ クスに対応する値がなければ nil が要素になります。
引数で指定されたインデックスに対応する要素を配列で返します。インデッ
クスに対応する値がなければ nil が要素になります。
@param selectors インデックスを整数もしくは整数の Range で指定します。
//emlist[例][ruby]{
ary = %w( a b c d e )
p ary.values_at( 0, 2, 4 ) #=> ["a", "c", "e"]
p ary.values_at( 3, 4, 5, 6, 35 ) #=> ["d", "e", nil, nil, nil]
p ary.values_at( 0, -1,... -
Array
# zip(*lists) -> [[object]] (10.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Array
# zip(*lists) {|v1 , v2 , . . . | . . . } -> nil (10.0) -
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。 生成される配列の要素数は self の要素数と同じです。
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。
生成される配列の要素数は self の要素数と同じです。
ブロック付きで呼び出した場合は、
self と引数に渡した配列の各要素を順番にブロックに渡します。
@param lists 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。to_ary メソッドに応答できない場
合は each メソッドによる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の... -
Array
# |(other) -> Array (10.0) -
集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し い配列を返します。重複する要素は取り除かれます。
集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新し
い配列を返します。重複する要素は取り除かれます。
要素の重複判定は、Object#eql? と Object#hash により行われます。
新しい配列における要素の順は self における要素の順と同じです。
@param other 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドによ
る暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
... -
BasicObject
# ! -> bool (10.0) -
オブジェクトを真偽値として評価し、その論理否定を返します。
オブジェクトを真偽値として評価し、その論理否定を返します。
このメソッドは self が nil または false であれば真を、さもなくば偽を返します。
主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
このメソッドを再定義しても Ruby の制御式において nil や false 以外が偽として
扱われることはありません。
@return オブジェクトが偽であれば真、さもなくば偽
//emlist[例][ruby]{
class NegationRecorder < BasicObject
def initialize
@co... -
BasicObject
# !=(other) -> bool (10.0) -
オブジェクトが other と等しくないことを判定します。
オブジェクトが other と等しくないことを判定します。
デフォルトでは self == other を評価した後に結果を論理否定して返します。
このため、サブクラスで BasicObject#== を再定義しても != とは自動的に整合性が
とれるようになっています。
ただし、 BasicObject#!= 自身や BasicObject#! を再定義した際には、ユーザーの責任で
整合性を保たなくてはなりません。
このメソッドは主に論理式の評価に伴って副作用を引き起こすことを目的に
再定義するものと想定されています。
@param other 比較対象となるオブジェクト
@see ... -
BasicObject
# ==(other) -> bool (10.0) -
オブジェクトが other と等しければ真を、さもなくば偽を返します。
オブジェクトが other と等しければ真を、さもなくば偽を返します。
このメソッドは各クラスの性質に合わせて、サブクラスで再定義するべきです。
多くの場合、オブジェクトの内容が等しければ真を返すように (同値性を判定するように) 再定義
することが期待されています。
デフォルトでは Object#equal? と同じオブジェクトの同一性になっています。
@param other 比較対象となるオブジェクト
@return other が self と同値であれば真、さもなくば偽
//emlist[例][ruby]{
class Person < BasicObject
def i... -
BasicObject
# _ _ id _ _ -> Integer (10.0) -
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し てどのような整数が割り当てられるかは不定です。
各オブジェクトに対して一意な整数を返します。あるオブジェクトに対し
てどのような整数が割り当てられるかは不定です。
Object#object_id と同じですが、#object_id は BasicObject に
はない事に注意してください。
//emlist[例][ruby]{
# frozen_string_literal: false
obj = Object.new
obj.object_id == obj.__id__ # => true
Object.new.__id__ == Object.new.__id__ # => false
(21... -
BasicObject
# _ _ send _ _ (name , *args) -> object (10.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# _ _ send _ _ (name , *args) { . . . . } -> object (10.0) -
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
オブジェクトのメソッド name を args を引数にして呼び出し、メソッドの結果を返します。
ブロック付きで呼ばれたときはブロックもそのまま引き渡します。
@param name 呼び出すメソッドの名前。 Symbol または文字列で指定します。
@param args メソッドに渡す任意個の引数
//emlist[例][ruby]{
class Mail
def delete(*args)
"(Mail#delete) - delete " + args.join(',')
end
def send(name, *args)
"(Mail#send) -... -
BasicObject
# equal?(other) -> bool (10.0) -
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
オブジェクトが other と同一であれば真を、さもなくば偽を返します。
このメソッドは2つのオブジェクトが同一のものであるかどうかを判定します。
一般にはこのメソッドを決して再定義すべきでありません。
ただし、 BasicObject の位置づけ上、どうしても再定義が必要な用途もあるでしょう。
再定義する際には自分が何をしているのかよく理解してから実行してください。
@param other 比較対象となるオブジェクト
@return other が self 自身であれば真、さもなくば偽
//emlist[例][ruby]{
original = "a"
copied = origi... -
BasicObject
# instance _ eval {|obj| . . . } -> object (10.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
BasicObject
# instance _ eval(expr , filename = "(eval)" , lineno = 1) -> object (10.0) -
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを 評価してその結果を返します。
オブジェクトのコンテキストで文字列 expr またはオブジェクト自身をブロックパラメータとするブロックを
評価してその結果を返します。
オブジェクトのコンテキストで評価するとは評価中の self をそのオブジェクトにして実行するということです。
また、文字列 expr やブロック中でメソッドを定義すればそのオブジェクトの特異メソッドが定義されます。
ただし、ローカル変数だけは、文字列 expr の評価では instance_eval の外側のスコープと、ブロックの評価ではそのブロックの外側のスコープと、共有します。
メソッド定義の中で instance_eval でメソッドを定義した場... -
BasicObject
# instance _ exec(*args) {|*vars| . . . } -> object (10.0) -
与えられたブロックをレシーバのコンテキストで実行します。
与えられたブロックをレシーバのコンテキストで実行します。
ブロック実行中は、 self がレシーバのコンテキストになるので
レシーバの持つインスタンス変数にアクセスすることができます。
@param args ブロックパラメータに渡す値です。
//emlist[例][ruby]{
class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
# 以下で x には 5 が渡される
k.instance_exec(5) {|x| @secret + x } #=> 10... -
BasicObject
# method _ missing(name , *args) -> object (10.0) -
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド を呼び出します。
呼びだされたメソッドが定義されていなかった時、Rubyインタプリタがこのメソッド
を呼び出します。
呼び出しに失敗したメソッドの名前 (Symbol) が name に
その時の引数が第二引数以降に渡されます。
デフォルトではこのメソッドは例外 NoMethodError を発生させます。
@param name 未定義メソッドの名前(シンボル)です。
@param args 未定義メソッドに渡された引数です。
@return ユーザー定義の method_missing メソッドの返り値が未定義メソッドの返り値で
あるかのように見えます。
//emlist[例][ruby]{... -
BasicObject
# singleton _ method _ added(name) -> object (10.0) -
特異メソッドが追加された時にインタプリタから呼び出されます。
特異メソッドが追加された時にインタプリタから呼び出されます。
通常のメソッドの追加に対するフックには
Module#method_addedを使います。
@param name 追加されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_added(name)
puts "singleton method \"#{name}\" was added"
end
end
obj = Foo.new
def obj.foo
end
#=> singleton method "fo... -
BasicObject
# singleton _ method _ removed(name) -> object (10.0) -
特異メソッドが Module#remove_method に より削除された時にインタプリタから呼び出されます。
特異メソッドが Module#remove_method に
より削除された時にインタプリタから呼び出されます。
通常のメソッドの削除に対するフックには
Module#method_removedを使います。
@param name 削除されたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_removed(name)
puts "singleton method \"#{name}\" was removed"
end
end
obj = Foo.new
def obj.f... -
BasicObject
# singleton _ method _ undefined(name) -> object (10.0) -
特異メソッドが Module#undef_method または undef により未定義にされた時にインタプリタから呼び出されます。
特異メソッドが Module#undef_method または
undef により未定義にされた時にインタプリタから呼び出されます。
通常のメソッドの未定義に対するフックには
Module#method_undefined を使います。
@param name 未定義にされたメソッド名が Symbol で渡されます。
//emlist[例][ruby]{
class Foo
def singleton_method_undefined(name)
puts "singleton method \"#{name}\" was undefined"
end
end
obj... -
Bignum
# %(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# &(other) -> Fixnum | Bignum (10.0) -
ビット二項演算子。論理積を計算します。
ビット二項演算子。論理積を計算します。
@param other 数値
1 & 1 #=> 1
2 & 3 #=> 2 -
Bignum
# *(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。積を計算します。
算術演算子。積を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# **(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。冪(べき乗)を計算します。
算術演算子。冪(べき乗)を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果
2 ** 3 # => 8
2 ** 0 # => 1
0 ** 0 # => 1 -
Bignum
# +(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。和を計算します。
算術演算子。和を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# -(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。差を計算します。
算術演算子。差を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# -@ -> Integer (10.0) -
単項演算子の - です。 self の符号を反転させたものを返します。
単項演算子の - です。
self の符号を反転させたものを返します。 -
Bignum
# / (other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# <<(bits) -> Fixnum | Bignum (10.0) -
シフト演算子。bits だけビットを左にシフトします。
シフト演算子。bits だけビットを左にシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 << 1) #=> 0b1010
p -1 << 1 #=> -2 -
Bignum
# <=>(other) -> Fixnum | nil (10.0) -
self と other を比較して、self が大きい時に正、 等しい時に 0、小さい時に負の整数を返します。
self と other を比較して、self が大きい時に正、
等しい時に 0、小さい時に負の整数を返します。
@param other 比較対象の数値
@return -1 か 0 か 1 のいずれか
1 <=> 2 #=> -1
1 <=> 1 #=> 0
2 <=> 1 #=> 1 -
Bignum
# ==(other) -> bool (10.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Bignum
# ===(other) -> bool (10.0) -
比較演算子。数値として等しいか判定します。
比較演算子。数値として等しいか判定します。
@param other 比較対象の数値
@return self と other が等しい場合 true を返します。
そうでなければ false を返します。 -
Bignum
# >>(bits) -> Fixnum | Bignum (10.0) -
シフト演算子。bits だけビットを右にシフトします。
シフト演算子。bits だけビットを右にシフトします。
右シフトは、符号ビット(最上位ビット(MSB))が保持されます。
bitsが実数の場合、小数点以下を切り捨てた値でシフトします。
@param bits シフトさせるビット数
printf("%#b\n", 0b0101 >> 1) #=> 0b10
p -1 >> 1 #=> -1 -
Bignum
# [](nth) -> Fixnum (10.0) -
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1 を、そうでなければ 0 を返します。
nth 番目のビット(最下位ビット(LSB)が 0 番目)が立っている時 1
を、そうでなければ 0 を返します。
@param nth 何ビット目を指すかの数値
@return 1 か 0
self[nth]=bit (つまりビットの修正) がないのは、Numeric 関連クラスが
immutable であるためです。 -
Bignum
# ^(other) -> Fixnum | Bignum (10.0) -
ビット二項演算子。排他的論理和を計算します。
ビット二項演算子。排他的論理和を計算します。
@param other 数値
1 ^ 1 #=> 0
2 ^ 3 #=> 1 -
Bignum
# abs -> Fixnum | Bignum (10.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Bignum
# bit _ length -> Integer (10.0) -
self を表すのに必要なビット数を返します。
self を表すのに必要なビット数を返します。
「必要なビット数」とは符号ビットを除く最上位ビットの位置の事を意味しま
す。2**n の場合は n+1 になります。self にそのようなビットがない(0 や
-1 である)場合は 0 を返します。
例: ceil(log2(int < 0 ? -int : int+1)) と同じ結果
(-2**10000-1).bit_length # => 10001
(-2**10000).bit_length # => 10000
(-2**10000+1).bit_length # => 10000
(-2*... -
Bignum
# div(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。商を計算します。
算術演算子。商を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# divmod(other) -> [Integer , Numeric] (10.0) -
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
self を other で割った商 q と余り r を、 [q, r] という 2 要素の配列にし
て返します。 商 q は常に整数ですが、余り r は整数であるとは限りません。
@param other self を割る数。
@see Numeric#divmod -
Bignum
# eql?(other) -> bool (10.0) -
self と other のクラスが等しくかつ同じ値である場合に true を返します。 そうでない場合に false を返します。
self と other のクラスが等しくかつ同じ値である場合に true を返します。
そうでない場合に false を返します。
@param other self と比較したい数値。
(1 << 64) == (1 << 64).to_f # => true
(1 << 64).eql?((1 << 64).to_f) # => false -
Bignum
# even? -> bool (10.0) -
self が偶数の場合に true を返します。そうでない場合に false を返します。
self が偶数の場合に true を返します。そうでない場合に false を返します。 -
Bignum
# fdiv(other) -> Float | Complex (10.0) -
self を other で割った商を Float で返します。 ただし Complex が関わる場合は例外です。 その場合も成分は Float になります。
self を other で割った商を Float で返します。
ただし Complex が関わる場合は例外です。
その場合も成分は Float になります。
@param other self を割る数を指定します。
@see Numeric#quo -
Bignum
# hash -> Integer (10.0) -
self のハッシュ値を返します。
self のハッシュ値を返します。 -
Bignum
# inspect(base = 10) -> String (10.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345654321.to_s #=> "12345654321"
12345654321.to_s(2) #=> "1011011111110110111011110000110001"
12345654321.to_s(8) #=> "133766736061"
12345654321.to_s(16) #=> "2dfdbbc31"
78546939656932.to_s(36) ... -
Bignum
# magnitude -> Fixnum | Bignum (10.0) -
self の絶対値を返します。
self の絶対値を返します。 -
Bignum
# modulo(other) -> Fixnum | Bignum | Float (10.0) -
算術演算子。剰余を計算します。
算術演算子。剰余を計算します。
@param other 二項演算の右側の引数(対象)
@return 計算結果 -
Bignum
# odd? -> bool (10.0) -
self が奇数の場合に true を返します。そうでない場合に false を返します。
self が奇数の場合に true を返します。そうでない場合に false を返します。 -
Bignum
# remainder(other) -> Fixnum | Bignum | Float (10.0) -
self を other で割った余り r を返します。
self を other で割った余り r を返します。
r の符号は self と同じになります。
@param other self を割る数。
@see Bignum#divmod, Bignum#modulo, Numeric#modulo -
Bignum
# size -> Fixnum (10.0) -
整数の実装上のサイズをバイト数で返します。
整数の実装上のサイズをバイト数で返します。
現在の実装では Fixnum は、sizeof(long) 固定(多くの 32
bit マシンで 4 バイト)、Bignumは、システム依存です。
p 1.size
p 0x1_0000_0000.size
# => 4
8 -
Bignum
# to _ f -> Float (10.0) -
値を浮動小数点数(Float)に変換します。
値を浮動小数点数(Float)に変換します。 -
Bignum
# to _ s(base = 10) -> String (10.0) -
self を引数で指定した基数の文字列表現に変換します。
self を引数で指定した基数の文字列表現に変換します。
@param base 基数を 2 から 36 の整数で指定します。
12345654321.to_s #=> "12345654321"
12345654321.to_s(2) #=> "1011011111110110111011110000110001"
12345654321.to_s(8) #=> "133766736061"
12345654321.to_s(16) #=> "2dfdbbc31"
78546939656932.to_s(36) ... -
Bignum
# |(other) -> Fixnum | Bignum (10.0) -
ビット二項演算子。論理和を計算します。
ビット二項演算子。論理和を計算します。
@param other 数値
1 | 1 #=> 1
2 | 3 #=> 3 -
Bignum
# ~ -> Fixnum | Bignum (10.0) -
ビット演算子。否定を計算します。
ビット演算子。否定を計算します。
~1 #=> -2
~3 #=> -4
~-4 #=> 3 -
Binding
# eval(expr , fname = _ _ FILE _ _ , lineno = 1) -> object (10.0) -
自身をコンテキストとし文字列 expr を Ruby プログラムとして評価しその結果を返します。 組み込み関数 Kernel.#eval を使って eval(expr, self, fname, lineno) とするのと同じです。
自身をコンテキストとし文字列 expr を
Ruby プログラムとして評価しその結果を返します。
組み込み関数 Kernel.#eval を使って
eval(expr, self, fname, lineno) とするのと同じです。
@param expr 評価したい式を文字列で与えます。
@param fname ファイル名を文字列で与えます。式 expr が fname というファイル名にあるかのように実行されます。
@param lineno 行番号を整数で与えます。式 expr の先頭行の行番号が lineno であるかのように実行されます。
//emlist[例][rub... -
Binding
# local _ variable _ defined?(symbol) -> bool (10.0) -
引数 symbol で指定した名前のローカル変数が定義されている場合に true を、 そうでない場合に false を返します。
引数 symbol で指定した名前のローカル変数が定義されている場合に true を、
そうでない場合に false を返します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_defined?(:a) # => true
binding.local_variable_defined?(:b) # => false
end
//}
このメソッドは以下のコードの短縮形です。
//emlist[][ruby]{
bindin... -
Binding
# local _ variable _ get(symbol) -> object (10.0) -
引数 symbol で指定した名前のローカル変数に設定された値を返します。
引数 symbol で指定した名前のローカル変数に設定された値を返します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
@raise NameError 引数 symbol で指定したローカル変数が未定義の場合に発生します。
//emlist[例][ruby]{
def foo
a = 1
binding.local_variable_get(:a) # => 1
binding.local_variable_get(:b) # => NameError
end
//}
このメソッドは以下のコードの短縮形です。
//emlis... -
Binding
# local _ variable _ set(symbol , obj) (10.0) -
引数 symbol で指定した名前のローカル変数に引数 obj を設定します。
引数 symbol で指定した名前のローカル変数に引数 obj を設定します。
@param symbol ローカル変数名を Symbol オブジェクトで指定します。
@param obj 引数 symbol で指定したローカル変数に設定するオブジェクトを指定します。
//emlist[例][ruby]{
def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # set existing local variable `a'
bind.local_variable_set(:b, 3) # create ... -
Binding
# local _ variables -> [Symbol] (10.0) -
ローカル変数の一覧を Symbol の配列で返します。
ローカル変数の一覧を Symbol の配列で返します。
//emlist[例][ruby]{
def foo
a = 1
2.times do |n|
binding.local_variables #=> [:a, :n]
end
end
//}
このメソッドは以下のコードと同様の動作をします。
//emlist[][ruby]{
binding.eval("local_variables")
//} -
Binding
# receiver -> object (10.0) -
保持するコンテキスト内での self を返します。
保持するコンテキスト内での self を返します。
このメソッドは以下のコードと同様の動作をします。
//emlist[][ruby]{
binding.eval("self")
//} -
Class
# _ load(str) -> Class (10.0) -
Object#_dump を参照して下さい。
Object#_dump を参照して下さい。
@param str Ruby のオブジェクトがダンプされた文字列を指定します。 -
Class
# allocate -> object (10.0) -
自身のインスタンスを生成して返します。生成したオブジェクトは 自身のインスタンスであること以外には何も特性を持ちません。
自身のインスタンスを生成して返します。生成したオブジェクトは
自身のインスタンスであること以外には何も特性を持ちません。
//emlist[例][ruby]{
klass = Class.new do
def initialize(*args)
@initialized = true
end
def initialized?
@initialized || false
end
end
klass.allocate.initialized? #=> false
//} -
Class
# inherited(subclass) -> () (10.0) -
クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数 にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは クラス定義文の実行直前です。
クラスのサブクラスが定義された時、新しく生成されたサブクラスを引数
にインタプリタから呼び出されます。このメソッドが呼ばれるタイミングは
クラス定義文の実行直前です。
@param subclass プログラム内で新たに定義された自身のサブクラスです。
//emlist[例][ruby]{
class Foo
def Foo.inherited(subclass)
puts "class \"#{self}\" was inherited by \"#{subclass}\""
end
end
class Bar < Foo
puts "executing class... -
Class
# new(*args , &block) -> object (10.0) -
自身のインスタンスを生成して返します。 このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
自身のインスタンスを生成して返します。
このメソッドの引数はブロック引数も含め Object#initialize に渡されます。
new は Class#allocate でインスタンスを生成し、
Object#initialize で初期化を行います。
@param args Object#initialize に渡される引数を指定します。
@param block Object#initialize に渡されるブロックを指定します。
//emlist[例][ruby]{
# Class クラスのインスタンス、C クラスを生成
C = Class.new # => C
# ... -
Class
# superclass -> Class | nil (10.0) -
自身のスーパークラスを返します。
自身のスーパークラスを返します。
//emlist[例][ruby]{
File.superclass #=> IO
IO.superclass #=> Object
class Foo; end
class Bar < Foo; end
Bar.superclass #=> Foo
Object.superclass #=> BasicObject
//}
ただし BasicObject.superclass は nil を返します。
//emlist[例][ruby]{
BasicObject.supercl... -
Comparable
# <(other) -> bool (10.0) -
比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
比較演算子 <=> をもとにオブジェクト同士を比較します。
<=> が負の整数を返した場合に、true を返します。
それ以外の整数を返した場合に、false を返します。
@param other 自身と比較したいオブジェクトを指定します。
@raise ArgumentError <=> が nil を返したときに発生します。
//emlist[例][ruby]{
1 < 1 # => false
1 < 2 # => true
//} -
Comparable
# <=(other) -> bool (10.0) -
比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が負の整数か 0 を返した場合に、true を返します。 それ以外の整数を返した場合に、false を返します。
比較演算子 <=> をもとにオブジェクト同士を比較します。
<=> が負の整数か 0 を返した場合に、true を返します。
それ以外の整数を返した場合に、false を返します。
@param other 自身と比較したいオブジェクトを指定します。
@raise ArgumentError <=> が nil を返したときに発生します。
//emlist[例][ruby]{
1 <= 0 # => false
1 <= 1 # => true
1 <= 2 # => true
//} -
Comparable
# ==(other) -> bool (10.0) -
比較演算子 <=> をもとにオブジェクト同士を比較します。 <=> が 0 を返した時に、true を返します。 それ以外を返した場合は、false を返します。
比較演算子 <=> をもとにオブジェクト同士を比較します。
<=> が 0 を返した時に、true を返します。
それ以外を返した場合は、false を返します。
@param other 自身と比較したいオブジェクトを指定します。
//emlist[例][ruby]{
1 == 1 # => true
1 == 2 # => false
//}