ライブラリ
- ビルトイン (172)
- abbrev (1)
- bigdecimal (1)
-
cgi
/ core (2) - csv (18)
- dbm (1)
- erb (1)
- expect (2)
- fileutils (12)
- getoptlong (2)
- json (3)
- logger (1)
- matrix (3)
- mkmf (4)
-
net
/ imap (5) - objspace (1)
- observer (2)
- open3 (2)
- openssl (6)
- optparse (1)
- ostruct (1)
- pathname (1)
- pp (1)
- psych (1)
- rake (16)
-
rake
/ rdoctask (1) -
rake
/ testtask (1) - readline (3)
-
rexml
/ document (2) -
rexml
/ parsers / ultralightparser (1) -
rinda
/ rinda (3) -
rinda
/ tuplespace (4) -
rubygems
/ command (2) -
rubygems
/ command _ manager (1) -
rubygems
/ commands / build _ command (1) -
rubygems
/ commands / update _ command (1) -
rubygems
/ config _ file (1) -
rubygems
/ dependency _ installer (6) -
rubygems
/ dependency _ list (2) -
rubygems
/ ext / configure _ builder (1) -
rubygems
/ ext / ext _ conf _ builder (1) -
rubygems
/ ext / rake _ builder (1) -
rubygems
/ format (1) -
rubygems
/ indexer (1) -
rubygems
/ old _ format (1) -
rubygems
/ package / tar _ header (1) -
rubygems
/ platform (1) -
rubygems
/ security (1) -
rubygems
/ source _ index (1) -
rubygems
/ source _ info _ cache (1) -
rubygems
/ spec _ fetcher (4) -
rubygems
/ specification (4) -
rubygems
/ user _ interaction (2) -
rubygems
/ version (2) - scanf (2)
- shell (6)
-
shell
/ command-processor (1) -
shell
/ filter (1) -
shell
/ process-controller (3) - shellwords (3)
- socket (8)
- tsort (3)
-
webrick
/ httpserver (1) -
webrick
/ httputils (3) -
win32
/ registry (1) - win32ole (5)
- zlib (2)
クラス
-
ARGF
. class (7) - Array (116)
- BigDecimal (1)
-
CGI
:: Cookie (1) - CSV (8)
-
CSV
:: Row (2) -
CSV
:: Table (8) - Complex (1)
- DBM (1)
- ERB (1)
- Enumerator (2)
-
Gem
:: Command (2) -
Gem
:: CommandManager (1) -
Gem
:: Commands :: BuildCommand (1) -
Gem
:: Commands :: UpdateCommand (1) -
Gem
:: ConfigFile (1) -
Gem
:: DependencyInstaller (6) -
Gem
:: DependencyList (2) -
Gem
:: Ext :: ConfigureBuilder (1) -
Gem
:: Ext :: ExtConfBuilder (1) -
Gem
:: Ext :: RakeBuilder (1) -
Gem
:: Format (1) -
Gem
:: Indexer (1) -
Gem
:: OldFormat (1) -
Gem
:: Package :: TarHeader (1) -
Gem
:: Platform (1) -
Gem
:: Security :: Policy (1) -
Gem
:: SourceIndex (1) -
Gem
:: SourceInfoCache (1) -
Gem
:: SpecFetcher (4) -
Gem
:: Specification (4) -
Gem
:: StreamUI (1) -
Gem
:: Version (2) - GetoptLong (2)
- Hash (5)
- IO (2)
- IPSocket (1)
-
JSON
:: State (2) - Logger (1)
-
Net
:: IMAP (1) -
Net
:: IMAP :: BodyTypeBasic (1) -
Net
:: IMAP :: BodyTypeMessage (1) -
Net
:: IMAP :: BodyTypeMultipart (1) -
Net
:: IMAP :: BodyTypeText (1) - NilClass (1)
- Object (1)
-
OpenSSL
:: BN (1) -
OpenSSL
:: X509 :: ExtensionFactory (3) - OpenStruct (1)
-
OptionParser
:: ParseError (1) - Pathname (1)
-
REXML
:: Entity (2) -
REXML
:: Parsers :: UltraLightParser (1) -
Rake
:: Application (2) -
Rake
:: FileList (11) -
Rake
:: RDocTask (1) -
Rake
:: TestTask (1) - Random (2)
- Range (1)
- Rational (2)
-
Rinda
:: TupleEntry (1) -
Rinda
:: TupleSpace (3) -
Rinda
:: TupleSpaceProxy (3) - Shell (6)
-
Shell
:: CommandProcessor (1) -
Shell
:: Filter (1) -
Shell
:: ProcessController (3) - Socket (5)
-
Socket
:: Option (1) - String (2)
- Struct (1)
- UDPSocket (1)
- Vector (3)
-
WEBrick
:: HTTPServer :: MountTable (1) -
WEBrick
:: HTTPUtils :: FormData (2) - WIN32OLE (1)
-
WIN32OLE
_ VARIANT (3) -
Win32
:: Registry (1) -
Zlib
:: GzipReader (1)
モジュール
-
CGI
:: QueryExtension :: Value (2) - Enumerable (29)
- FileUtils (13)
-
Gem
:: UserInteraction (1) -
JSON
:: Generator :: GeneratorMethods :: Array (1) - Kernel (8)
- ObjectSpace (3)
- Observable (2)
- Open3 (2)
-
OpenSSL
:: SSL :: SocketForwarder (2) - Psych (1)
-
Rake
:: TaskManager (1) - Shellwords (2)
- TSort (3)
-
WEBrick
:: HTTPUtils (1) -
WIN32OLE
:: VARIANT (1) - Zlib (1)
オブジェクト
- ENV (2)
-
Readline
:: HISTORY (2)
キーワード
- * (1)
- << (2)
- <=> (1)
- == (2)
-
ARGUMENT
_ FLAGS (1) -
ARRAY
_ METHODS (1) -
DEFAULT
_ IGNORE _ PATTERNS (1) -
DEFAULT
_ RAKEFILES (1) -
DELEGATING
_ METHODS (1) - FIELDS (1)
- HISTORY (1)
- METHODS (1)
-
MUST
_ DEFINE (1) -
MUST
_ NOT _ DEFINE (1) - ORDERINGS (1)
- RARRAY (1)
- Ruby用語集 (1)
-
SEV
_ LABEL (1) -
SPECIAL
_ RETURN (1) -
VT
_ ARRAY (1) - [] (6)
- []= (4)
-
_ invoke (1) - abbrev (1)
-
accept
_ nonblock (1) -
active
_ jobs (1) -
add
_ bindir (1) -
add
_ observer (1) - addr (1)
- any? (4)
- args (1)
- argv (1)
- array (1)
-
array
_ nl (1) -
array
_ nl= (1) - assoc (3)
- at (1)
-
attribute
_ defaults (1) - bsearch (2)
-
bsearch
_ index (1) - build (3)
-
build
_ args (1) - chmod (1)
-
chmod
_ R (1) -
choose
_ from _ list (2) - chown (1)
-
chown
_ R (1) - clear (1)
- clone (1)
- coerce (3)
- collect (2)
- collect! (2)
- collect2 (2)
-
collect
_ concat (1) -
collect
_ method (1) - combination (1)
- commands (1)
- compact! (1)
- concat (1)
-
crc
_ table (1) -
create
_ ext _ from _ array (1) -
create
_ extension (2) - cycle (2)
-
default
_ system _ path (1) -
default
_ system _ path= (1) -
define
_ finalizer (2) - delete (2)
-
delete
_ at (1) -
delete
_ if (2) -
delete
_ observers (1) -
depend
_ rules (1) -
development
_ dependencies (1) - dig (4)
- drop (1)
-
drop
_ while (3) - dup (1)
- each (1)
- each2 (1)
-
each
_ index (1) - empty? (2)
- eql? (1)
- expect (2)
- extension (4)
- fetch (1)
- fields (1)
-
file
_ entries (2) - fill (6)
-
filter
_ backtrace (1) -
find
_ command _ possibilities (1) -
find
_ gems _ with _ sources (1) -
find
_ index (2) -
find
_ matching (1) -
find
_ spec _ by _ name _ and _ version (1) -
find
_ type (2) - first (2)
-
flat
_ map (1) - flatten (2)
- flatten! (1)
-
gather
_ dependencies (1) -
gem
_ file _ list (1) -
gems
_ to _ install (1) -
get
_ all _ gem _ names (1) - getaddrinfo (1)
- getnameinfo (1)
- headers (2)
- import (1)
- include? (1)
- index (2)
- insert (1)
- install (1)
-
install
_ rb (1) -
installed
_ gems (1) - jobs (2)
- join (1)
-
keep
_ if (1) - last (2)
-
latest
_ specs (1) -
legacy
_ repos (1) - length (1)
- libs (1)
- list (3)
-
load
_ gemspecs (1) - makedirs (1)
- map (2)
- map! (2)
-
mark
_ locations _ array (1) -
marshal
_ dump (4) -
marshal
_ load (2) - max (4)
-
max
_ by (4) - min (4)
-
min
_ by (4) - mkdir (3)
-
mkdir
_ p (1) - mkpath (1)
- new (5)
-
next
_ values (1) -
option
_ list (1) - p (1)
- pack (1)
- pack テンプレート文字列 (1)
- pair (1)
- parse (1)
-
parse
_ line (1) -
pathmap
_ explode (1) -
peek
_ values (1) - peeraddr (1)
- permutation (2)
-
pipeline
_ r (2) - pop (1)
-
pretty
_ print _ cycle (1) - product (2)
- push (1)
- rassoc (3)
-
rb
_ Array (1) -
rb
_ ary _ new (1) -
rb
_ ary _ new2 (1) -
rb
_ ary _ new3 (1) -
rb
_ ary _ to _ s (1) -
rb
_ check _ convert _ type (1) -
rb
_ f _ array (1) -
reachable
_ objects _ from (1) - read (4)
-
read
_ all (2) - readline (1)
- readlines (6)
- recvfrom (1)
-
recvfrom
_ nonblock (1) - reject! (2)
-
remove
_ by _ name (1) -
repeated
_ combination (1) -
repeated
_ permutation (1) - replace (1)
-
resolve
_ args (1) -
response
_ handlers (1) - reverse! (1)
-
reverse
_ each (1) - rindex (2)
- rotate! (1)
-
ruby 1
. 8 . 2 feature (1) -
safe
_ load (1) - sample (4)
- scan (1)
- scanf (2)
-
search
_ with _ source (1) - select (3)
- select! (2)
-
set
_ eoutvar (1) - shelljoin (2)
- shift (1)
- shuffle (2)
- shuffle! (2)
- size (1)
- slice (3)
- slice! (3)
- socketpair (1)
- sort! (2)
-
sort
_ by (2) -
sort
_ by! (1) -
spec
_ predecessors (1) - split (1)
-
split
_ all (1) -
split
_ header _ value (1) -
strongly
_ connected _ components (2) -
system
_ path (1) -
system
_ path= (1) - table (2)
- take (3)
-
take
_ while (3) -
to
_ a (8) -
to
_ ary (4) -
to
_ json (1) -
top
_ level _ tasks (1) -
try
_ convert (1) - tsort (1)
- uniq (2)
- uniq! (2)
- unpack (2)
- unshift (1)
- value (2)
-
values
_ at (4) - vartype (1)
-
verify
_ gem (1) -
waiting
_ jobs (1) -
which
_ to _ update (1) - yaml (1)
- zip (2)
- メソッド呼び出し(super・ブロック付き・yield) (1)
検索結果
先頭5件
-
Array
# cycle(n=nil) -> Enumerator (99601.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# cycle(n=nil) {|obj| block } -> nil (99601.0) -
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。
ブロックを省略した場合は Enumerator を返します。
@param n 繰り返したい回数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = ["a", "b", "c"]
a.cycle {|x| p... -
Array
# drop _ while {|element| . . . } -> Array (91222.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。 このメソッドは自身を破壊的に変更しません。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
このメソッドは自身を破壊的に変更しません。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
# 変数aの値は変化しない
a # => [1, 2, 3, 4, 5, 0]
//}
@see Enumerable#drop_while, Array... -
Array
# take _ while {|element| . . . } -> Array (91204.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# slice(pos , len) -> Array | nil (91015.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 (91015.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
# last(n) -> Array (90925.0) -
末尾の n 要素を配列で返します。n は 0 以上でなければなりません。
末尾の n 要素を配列で返します。n は 0 以上でなければなりません。
@param n 取得したい要素の個数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
@raise ArgumentError n が負値の場合発生します。
//emlist[例][ruby]{
ary = [0, 1, 2]
p ary.last(0)... -
Array
# shuffle -> Array (90925.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(random: Random) -> Array (90925.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
# clone -> Array (90907.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0... -
Array
# sample(n) -> Array (90907.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# sample(n , random: Random) -> Array (90907.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# slice!(range) -> Array | nil (90907.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 (90907.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
# flatten(lv = nil) -> Array (90904.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。
@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(... -
Array
# values _ at(*selectors) -> Array (90904.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
# slice(nth) -> object | nil (90385.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
# delete _ at(pos) -> object | nil (90373.0) -
指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。
指定された位置 pos にある要素を取り除きそれを返します。
pos が範囲外であったら nil を返します。
Array#at と同様に負のインデックスで末尾から位置を指定するこ
とができます。
@param pos 削除したい要素のインデックスを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][r... -
Array
# delete(val) -> object | nil (90355.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
指定された val と == で等しい要素を自身からすべて取り除きます。
等しい要素が見つかった場合は最後に見つかった要素を、
そうでない場合には nil を返します。
ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロッ
クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
//emlist[例][ruby]{
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に n... -
Array
# delete(val) { . . . } -> object (90355.0) -
指定された val と == で等しい要素を自身からすべて取り除きます。 等しい要素が見つかった場合は最後に見つかった要素を、 そうでない場合には nil を返します。
指定された val と == で等しい要素を自身からすべて取り除きます。
等しい要素が見つかった場合は最後に見つかった要素を、
そうでない場合には nil を返します。
ブロックが与えられた場合、val と等しい要素が見つからなかったときにブロッ
クを評価してその結果を返します。
@param val 自身から削除したい値を指定します。
//emlist[例][ruby]{
array = [1, 2, 3, 2, 1]
p array.delete(2) #=> 2
p array #=> [1, 3, 1]
# ブロックなしの引数に n... -
Array
# delete _ if -> Enumerator (90337.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# delete _ if {|x| . . . } -> self (90337.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# select! -> Enumerator (90337.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 (90337.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
# shelljoin -> String (90337.0) -
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に 使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド ライン文字列を生成します。
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に
使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンド
ライン文字列を生成します。
array.shelljoin は、Shellwords.shelljoin(array) と等価です。
@return エスケープ結果を連結した文字列を返します。
@see Shellwords.#shelljoin -
Array
# last -> object | nil (90325.0) -
配列の末尾の要素を返します。配列が空のときは nil を返します。
配列の末尾の要素を返します。配列が空のときは nil を返します。
//emlist[例][ruby]{
p [0, 1, 2].last #=> 2
p [].last #=> nil
//}
@see Array#first -
Array
# drop _ while -> Enumerator (90322.0) -
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、 残りの要素を配列として返します。 このメソッドは自身を破壊的に変更しません。
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、
残りの要素を配列として返します。
このメソッドは自身を破壊的に変更しません。
ブロックを指定しなかった場合は、Enumerator を返します。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.drop_while {|i| i < 3 } # => [3, 4, 5, 0]
# 変数aの値は変化しない
a # => [1, 2, 3, 4, 5, 0]
//}
@see Enumerable#drop_while, Array... -
Array
# collect! -> Enumerator (90319.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# collect! {|item| . . } -> self (90319.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# select -> Enumerator (90319.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 {|item| . . . } -> [object] (90319.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
# shuffle! -> self (90319.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# shuffle!(random: Random) -> self (90319.0) -
配列を破壊的にランダムシャッフルします。
配列を破壊的にランダムシャッフルします。
@param random 乱数生成器(主に Random オブジェクト)を指定します。
選択する要素のインデックスを返す rand メソッドに応答する
オブジェクトであれば指定する事ができます。rand メソッド
の引数には Random#rand(max) のように選択可能なイン
デックスの最大値が指定されます。
Kernel.#rand、Random を使用しないオブジェク
ト... -
Array
# sample -> object | nil (90307.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# sample(random: Random) -> object | nil (90307.0) -
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個)
ランダムに選んで返します。
重複したインデックスは選択されません。そのため、自身がユニークな配列の
場合は返り値もユニークな配列になります。
配列が空の場合、無引数の場合は nil を、個数を指定した場合は空配列を返します。
srand()が有効です。
@param n 取得する要素の数を指定します。自身の要素数(self.length)以上の
値を指定した場合は要素数と同じ数の配列を返します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# slice!(nth) -> object | nil (90307.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
# flatten!(lv = nil) -> self | nil (90304.0) -
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は 自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない 場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は
自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない
場合は nil を返します。
lv が指定された場合、lv の深さまで再帰的に平坦化します。
@param lv 平坦化の再帰の深さを整数で指定します。nil を指定した場合、再
帰の深さの制限無しに平坦化します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(... -
Array
# take _ while -> Enumerator (90304.0) -
配列の要素を順に偽になるまでブロックで評価します。 最初に偽になった要素の手前の要素までを配列として返します。 このメソッドは自身を破壊的に変更しません。
配列の要素を順に偽になるまでブロックで評価します。
最初に偽になった要素の手前の要素までを配列として返します。
このメソッドは自身を破壊的に変更しません。
//emlist[例][ruby]{
a = [1, 2, 3, 4, 5, 0]
a.take_while {|i| i < 3 } # => [1, 2]
//}
ブロックを省略した場合は Enumerator を返します。
@see Enumerable#take_while -
Array
# clear -> self (90301.0) -
配列の要素をすべて削除して空にします。
配列の要素をすべて削除して空にします。
//emlist[例][ruby]{
ary = [1, 2]
ary.clear
p ary #=> []
//} -
Array
# collect -> Enumerator (90301.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Array
# collect {|item| . . . } -> [object] (90301.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Array
# eql?(other) -> bool (90301.0) -
自身と other の各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返 します。そうでない場合に false を返します。
自身と other の各要素をそれぞれ順に
Object#eql? で比較して、全要素が等しければ真を返
します。そうでない場合に false を返します。
@param other 自身と比較したい配列を指定します。
//emlist[例][ruby]{
["a", "b", "c"].eql? ["a", "b", "c"] #=> true
["a", "b", "c"].eql? ["a", "c", "b"] #=> false
["a", "b", 1].eql? ["a", "b", 1.0] #=> false (1.eql?(1.0) ... -
Array
# fill {|index| . . . } -> self (90301.0) -
すべての要素に val をセットします。
すべての要素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオブジェクトを指定します。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]
a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitali... -
Array
# fill(range) {|index| . . . } -> self (90301.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# fill(start , length = nil) {|index| . . . } -> self (90301.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# fill(val) -> self (90301.0) -
すべての要素に val をセットします。
すべての要素に val をセットします。
このメソッドが val のコピーでなく val 自身をセットする
ことに注意してください。
val の代わりにブロックを指定するとブロックの評価結果を値とします。
@param val 自身にセットしたいオブジェクトを指定します。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4]
a.fill(10)
p a #=> [10, 10, 10, 10, 10]
a = [0, 1, 2, 3, 4]
a.fill("a")
p a #=> ["a", "a", "a", "a", "a"]
a[0].capitali... -
Array
# fill(val , range) -> self (90301.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# fill(val , start , length = nil) -> self (90301.0) -
配列の指定された範囲すべてに val をセットします。
配列の指定された範囲すべてに val をセットします。
範囲の始点が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。
範囲の終点が自身の末尾を越える時は長さを自動的に拡張し、拡張した部分を val で初期化します。
このメソッドが val のコピーでなく val 自身をセットすることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2]
a.fill("x", 5..10)
p a #=> [0, 1, 2, nil, nil, "x", "x", "x", "x", "x", "x"]
//}
val の代わり... -
Array
# include?(val) -> bool (90301.0) -
配列が val と == で等しい要素を持つ時に真を返します。
配列が val と == で等しい要素を持つ時に真を返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.include?("b") #=> true
a.include?("z") #=> false
//} -
Array
# length -> Integer (90301.0) -
配列の長さを返します。配列が空のときは 0 を返します。
配列の長さを返します。配列が空のときは 0 を返します。
//emlist[例][ruby]{
p [1, nil, 3, nil].size #=> 4
//} -
Array
# replace(another) -> self (90301.0) -
配列の内容を配列 another の内容で置き換えます。
配列の内容を配列 another の内容で置き換えます。
@param another 配列を指定します。
配列以外のオブジェクトを指定した場合は to_ary メソッドに
よる暗黙の型変換を試みます。
@raise TypeError 引数に配列以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby]{
a = [1, 2, 3]
a.replace [4, 5, 6]
p a #=> [4, 5, 6]
... -
Kernel
. # Array(arg) -> Array (82027.0) -
引数を配列(Array)に変換した結果を返します。
引数を配列(Array)に変換した結果を返します。
arg.to_ary と arg.to_a をこの順に呼び出して、返ってきた配列を変換結果とします。
arg に to_ary, to_a のいずれのメソッドも定義されていない場合は
一要素の配列 [arg] を返します。
@param arg 変換対象のオブジェクトです。
@raise TypeError to_ary, to_a の返り値が配列でなければ発生します
//emlist[例][ruby]{
p Array({:it => 3}) #=> [[:it, 3]]
p Array(nil) #=> []
p Array("... -
Array
. try _ convert(obj) -> Array | nil (81976.0) -
to_ary メソッドを用いて obj を配列に変換しようとします。
to_ary メソッドを用いて obj を配列に変換しようとします。
何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。
//emlist[例][ruby]{
Array.try_convert([1]) # => [1]
Array.try_convert("1") # => nil
if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument ... -
Array
# to _ ary -> self (81673.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
# dup -> Array (81607.0) -
レシーバと同じ内容を持つ新しい配列を返します。
レシーバと同じ内容を持つ新しい配列を返します。
clone は frozen singleton-class の情報も含めてコピーしますが、
dup は内容と tainted だけをコピーします。
またどちらのメソッドも要素それ自体のコピーはしません。
つまり参照しているオブジェクトが変わらない「浅い(shallow)」コピーを行います。
//emlist[例][ruby]{
ary = ['string']
p ary #=> ["string"]
copy = ary.dup
p copy #=> ["string"]
ary[0][0... -
Array
# any? -> bool (81601.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p [1, 2, 3].any? {|v| v > 1 } # => true
p [].any? {|v| v... -
Array
# any? {|item| . . . } -> bool (81601.0) -
すべての要素が偽である場合に false を返します。 真である要素があれば、ただちに true を返します。
すべての要素が偽である場合に false を返します。
真である要素があれば、ただちに true を返します。
ブロックを伴う場合は、各要素に対してブロックを評価し、すべての結果
が偽である場合に false を返します。ブロックが真を返した時点
で、ただちに true を返します。
要素の数が 0 である配列に対しては false を返します。
//emlist[例][ruby]{
p [1, 2, 3].any? {|v| v > 3 } # => false
p [1, 2, 3].any? {|v| v > 1 } # => true
p [].any? {|v| v... -
Array
# empty? -> bool (81601.0) -
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。
//emlist[例][ruby]{
p [].empty? #=> true
p [1, 2, 3].empty? #=> false
//} -
Array
# sort _ by! {|item| . . . } -> self (81601.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
# reject! {|x| . . . } -> self | nil (81337.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# map! {|item| . . } -> self (81319.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# reject! -> Enumerator (81037.0) -
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。
delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
ブロックが与えられなかった場合は、自身と reject! から生成した
Enumerator オブジェクトを返します。
返された Enumerator オブジェクトの each メソッドには、
もとの配列に対して副作用があることに注意してください。
//emlist[例][ruby]{
a = [0, 1, 2, 3, 4, 5]
a.dele... -
Array
# map! -> Enumerator (81019.0) -
各要素を順番にブロックに渡して評価し、その結果で要素を 置き換えます。
各要素を順番にブロックに渡して評価し、その結果で要素を
置き換えます。
ブロックが与えられなかった場合は、自身と map! から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
ary = [1, 2, 3]
ary.map! {|i| i * 3 }
p ary #=> [3, 6, 9]
ary = [1, 2, 3]
e = ary.map!
e.each{ 1 }
p ary #=> [1, 1, 1]
//}
@see Array#collect, Enumerator -
Array
# map -> Enumerator (81001.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Array
# map {|item| . . . } -> [object] (81001.0) -
各要素に対してブロックを評価した結果を全て含む配列を返します。
各要素に対してブロックを評価した結果を全て含む配列を返します。
ブロックを省略した場合は Enumerator を返します。
//emlist[例][ruby]{
# すべて 3 倍にする
p [1, 2, 3].map {|n| n * 3 } # => [3, 6, 9]
//}
@see Enumerable#collect, Enumerable#map -
Array
# size -> Integer (81001.0) -
配列の長さを返します。配列が空のときは 0 を返します。
配列の長さを返します。配列が空のときは 0 を返します。
//emlist[例][ruby]{
p [1, nil, 3, nil].size #=> 4
//} -
Array
# pack(template) -> String (72949.0) -
配列の内容を template で指定された文字列にしたがって、 バイナリとしてパックした文字列を返します。
配列の内容を template で指定された文字列にしたがって、
バイナリとしてパックした文字列を返します。
テンプレートは
型指定文字列とその長さ(省略時は1)を並べたものです。長さと
して * が指定された時は「残りのデータ全て」の長さを
表します。型指定文字は以下で述べる pack テンプレート文字列の通りです。
@param template 自身のバイナリとしてパックするためのテンプレートを文字列で指定します。
以下にあげるものは、Array#pack、String#unpack
のテンプレート文字の一覧です。テンプレート文字は後に「長さ」を表す数字
を続けることができま... -
Array
. new(size = 0 , val = nil) -> Array (72943.0) -
長さ size の配列を生成し、各要素を val で初期化して返します。
長さ size の配列を生成し、各要素を val で初期化して返します。
要素毎に val が複製されるわけではないことに注意してください。
全要素が同じオブジェクト val を参照します。
後述の例では、配列の各要素は全て同一の文字列を指します。
@param size 配列の長さを数値で指定します。
@param val 配列の要素の値を指定します。
//emlist[例][ruby]{
ary = Array.new(3, "foo")
p ary #=> ["foo", "foo", "foo"]
ary[0].capitalize!
... -
Array
# assoc(key) -> Array | nil (72922.0) -
配列の配列を検索して、その 0 番目の要素が key に == で等しい 最初の要素を返します。該当する要素がなければ nil を返します。
配列の配列を検索して、その 0 番目の要素が key に == で等しい
最初の要素を返します。該当する要素がなければ nil を返します。
@param key 検索するオブジェクトを指定します。
//emlist[例][ruby]{
ary = [[1,15], [2,25], [3,35]]
p ary.assoc(2) # => [2, 25]
p ary.assoc(100) # => nil
p ary.assoc(15) # => nil
//}
@see Array#rassoc -
Array
# rassoc(obj) -> Array | nil (72922.0) -
自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返 します。該当する要素がなければ nil を返します。
自身が配列の配列であると仮定して、要素の配列でインデックス
1 の要素が obj に等しいものを検索し見つかった最初の要素を返
します。該当する要素がなければ nil を返します。
比較は == 演算子を使って行われます。
@param obj 検索するオブジェクトを指定します。
//emlist[例][ruby]{
a = [[15,1], [25,2], [35,3]]
p a.rassoc(2) # => [25, 2]
//}
@see Array#assoc -
Array
# [](range) -> Array | nil (72907.0) -
Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。 range の begin が end より後にある場合には空の配列を返します。
Range オブジェクト range の範囲にある要素からなる部分配列を返します。
range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。
range の begin が end より後にある場合には空の配列を返します。
@param range 生成したい部分配列の範囲を Range オブジェクトで指定します。
range の begin や end の値が負の時には末尾からのインデックスと見倣します。末尾
の要素が -1 番目になります。
... -
Array
# [](start , length) -> Array | nil (72907.0) -
start 番目から length 個の要素を含む部分配列を返します。 start が自身の範囲外となる時は nil を返します。ただし、start が配列の長さに等しいときは空の配列を返します。 length が負の時は nil を返します。
start 番目から length 個の要素を含む部分配列を返します。
start が自身の範囲外となる時は nil を返します。ただし、start が配列の長さに等しいときは空の配列を返します。
length が負の時は nil を返します。
@param start 生成したい部分配列の先頭のインデックスを整数で指定します。
start の値が負の時には末尾からのインデックスと見倣します。
末尾の要素が -1 番目になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによ
... -
Array
# product(*lists) -> Array (72904.0) -
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1
個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。
返される配列の長さは,レシーバと引数で与えられた配列の長さのすべての積にな
ります。
@param lists 配列。複数指定可能。
//emlist[例][ruby]{
[1,2,3].product([4,5]) # => [[1,4],[1,5],[2,4],[2,5],[3,4],[3,5]]
[1,2].product([1,2]) # => [[1,1],[1,2],[2,1],[2,2]]
[1,2].prod... -
Array
# permutation(n = self . length) { |p| block } -> self (72637.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Array
# pop -> object | nil (72538.0) -
自身の末尾から要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
自身の末尾から要素を取り除いてそれを返します。
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
空配列の場合、n が指定されていない場合は nil を、
指定されている場合は空配列を返します。
また、n が自身の要素数より少ない場合はその要素数の配列を
返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@param n 自身から取り除きたい要素の個数を整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# push(*obj) -> self (72463.0) -
指定された obj を順番に配列の末尾に追加します。 引数を指定しなければ何もしません。
指定された obj を順番に配列の末尾に追加します。
引数を指定しなければ何もしません。
@param obj 自身に追加したいオブジェクトを指定します。
//emlist[例][ruby]{
array = [1, 2, 3]
array.push 4
array.push [5, 6]
array.push 7, 8
p array # => [1, 2, 3, 4, [5, 6], 7, 8]
//}
@see Array#pop, Array#shift, Array#unshift, Array#<< -
Array
# bsearch _ index { |x| . . . } -> Integer | nil (72373.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を 二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を
二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil
を返します。self はあらかじめソートしておく必要があります。
本メソッドはArray#bsearchと同様に、ブロックを評価した結果により2
つのモードで動作します。Array#bsearch との違いは見つかった要素自
身を返すか位置を返すかのみです。各モードのより詳細な違いについては
Array#bsearch を参照してください。
//emlist[例: find-minimum モード][ruby]{
ary = [0,... -
Array
# shift -> object | nil (72358.0) -
配列の先頭の要素を取り除いてそれを返します。 引数を指定した場合はその個数だけ取り除き、それを配列で返します。
配列の先頭の要素を取り除いてそれを返します。
引数を指定した場合はその個数だけ取り除き、それを配列で返します。
空配列の場合、n が指定されていない場合は nil を、
指定されている場合は空配列を返します。
また、n が自身の要素数より少ない場合はその要素数の配列を
返します。どちらの場合も自身は空配列となります。
返す値と副作用の両方を利用して、個数を指定して配列を 2 分する簡単な方法として使えます。
@param n 自身から取り除きたい要素の個数を非負整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
... -
Array
# concat(other) -> self (72355.0) -
配列 other を自身の末尾に破壊的に連結します。
配列 other を自身の末尾に破壊的に連結します。
@param other 自身と連結したい配列を指定します。
//emlist[例][ruby]{
array = [1, 2]
a = [3, 4]
array.concat a
p array # => [1, 2, 3, 4]
p a # => [3, 4] # こちらは変わらない
//} -
Array
# keep _ if {|item| . . . } -> self (72355.0) -
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /[aeiou]/} # => ["a", "e"]
a # => ["a", "e"]
//}
keep_if は常に self を返しますが、Array#select! は要素が 1 つ以上削除されれば self を、
1 つも削除されなければ nil を返します。
//emlist[例][ruby]{
a = %w{ a b c d e f }
a.keep_if {|v| v =~ /... -
Array
# unshift(*obj) -> self (72355.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
# <<(obj) -> self (72337.0) -
指定された obj を自身の末尾に破壊的に追加します。
指定された obj を自身の末尾に破壊的に追加します。
//emlist[例][ruby]{
ary = [1]
ary << 2
p ary # [1, 2]
//}
またこのメソッドは self を返すので、以下のように連続して
書くことができます。
//emlist[例][ruby]{
ary = [1]
ary << 2 << 3 << 4
p ary #=> [1, 2, 3, 4]
//}
@param obj 自身に加えたいオブジェクトを指定します。Array#push と違って引数は一つしか指定できません。
@see Array#push -
Array
# combination(n) {|c| block } -> self (72337.0) -
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、組み合わせ
を生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[... -
Array
# each {|item| . . . . } -> self (72337.0) -
各要素に対してブロックを評価します。
各要素に対してブロックを評価します。
ブロックが与えられなかった場合は、自身と each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
[1, 2, 3].each do |i|
puts i
end
#=> 1
# 2
# 3
//}
@see Array#each_index, Array#reverse_each -
Array
# each _ index {|index| . . . . } -> self (72337.0) -
各要素のインデックスに対してブロックを評価します。
各要素のインデックスに対してブロックを評価します。
以下と同じです。
//emlist[例][ruby]{
(0 ... ary.size).each do |index|
# ....
end
//}
ブロックが与えられなかった場合は、自身と each_index から生成した
Enumerator オブジェクトを返します。
@see Array#each, Array#reverse_each -
Array
# permutation(n = self . length) -> Enumerator (72337.0) -
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。
引数を省略した場合は配列の要素数と同じサイズの順列に対してブロックを実
行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
... -
Array
# repeated _ combination(n) { |c| . . . } -> self (72337.0) -
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行 します。
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行
します。
得られる組み合わせの順序は保証されません。ブロックなしで呼び出されると、
組み合わせを生成する Enumerator オブジェクトを返します。
@param n 生成される配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emli... -
Array
# repeated _ permutation(n) { |p| . . . } -> self (72337.0) -
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
@param n 生成する配列のサイズを整数で指定します。
整数以外のオブジェクトを指定した場合は to_int メソッドによる暗
黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します。
//emlist[例][ruby... -
Array
# first -> object | nil (72325.0) -
配列の先頭の要素を返します。要素がなければ nil を返します。
配列の先頭の要素を返します。要素がなければ nil を返します。
//emlist[例][ruby]{
p [0, 1, 2].first #=> 0
p [].first #=> nil
//}
@see Array#last -
Array
# sort! -> self (72325.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# sort! {|a , b| . . . } -> self (72325.0) -
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。
sort! は self を破壊的にソートし、self を返します。
ブロックとともに呼び出された時には、要素同士の比較をブロックを用いて行います。
ブロックに2つの要素を引数として与えて評価し、その結果で比較します。
ブロックは <=> 演算子と同様に整数を返すことが期待されています。つまり、
ブロックは第1引数が大きいなら正の整数、両者が等しいなら0、そして第1引数の方が小さいなら
負の整数を返さなければいけません。両者を比較できない時は nil を返します。
... -
Array
# bsearch { |x| . . . } -> object | nil (72319.0) -
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探 索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し ます。self はあらかじめソートしておく必要があります。
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探
索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返し
ます。self はあらかじめソートしておく必要があります。
本メソッドはブロックを評価した結果により以下のいずれかのモードで動作し
ます。
* find-minimum モード
* find-any モード
find-minimum モード(特に理由がない限りはこのモードを使う方がいいでしょ
う)では、条件判定の結果を以下のようにする必要があります。
* 求める値がブロックパラメータの値か前の要素の場合: true を返... -
Array
# find _ index {|item| . . . } -> Integer | nil (72319.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}
ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初... -
Array
# find _ index(val) -> Integer | nil (72319.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}
ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初... -
Array
# index {|item| . . . } -> Integer | nil (72319.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}
ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初... -
Array
# index(val) -> Integer | nil (72319.0) -
条件に一致する最初の要素の位置を返します。
条件に一致する最初の要素の位置を返します。
@param val 位置を知りたいオブジェクトを指定します。
指定された val と == で等しい最初の要素の位置を返します。
等しい要素がひとつもなかった場合は nil を返します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].index(1) #=> 0
p [1, 0, 0, 0, 0].index(1) #=> 0
p [0, 0, 0, 0, 0].index(1) #=> nil
//}
ブロックが与えられた場合には、各要素を引数として順にブロックを実行し、
ブロックが真を返した最初... -
Array
# reverse _ each {|item| . . . } -> self (72319.0) -
各要素に対して逆順にブロックを評価します。
各要素に対して逆順にブロックを評価します。
ブロックが与えられなかった場合は、自身と reverse_each から生成した
Enumerator オブジェクトを返します。
//emlist[例][ruby]{
a = [ "a", "b", "c" ]
a.reverse_each {|x| print x, " " }
# => c b a
//}
@see Array#each -
Array
# rindex {|item| . . . } -> Integer | nil (72319.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
指定された val と == で等しい最後の要素の位置を返します。
等しい要素がひとつもなかった時には nil を返します。
ブロックが与えられた時には、各要素を右(末尾)から順に引数としてブロックを実行し、
ブロックが真を返す最初の要素の位置を返します。
ブロックが真を返す要素がなかった時には nil を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].rindex(... -
Array
# rindex(val) -> Integer | nil (72319.0) -
指定された val と == で等しい最後の要素の位置を返します。 等しい要素がひとつもなかった時には nil を返します。
指定された val と == で等しい最後の要素の位置を返します。
等しい要素がひとつもなかった時には nil を返します。
ブロックが与えられた時には、各要素を右(末尾)から順に引数としてブロックを実行し、
ブロックが真を返す最初の要素の位置を返します。
ブロックが真を返す要素がなかった時には nil を返します。
引数、ブロックのどちらも与えられなかった時には、自身と rindex から生成した
Enumerator オブジェクトを返します。
@param val オブジェクトを指定します。
//emlist[例][ruby]{
p [1, 0, 0, 1, 0].rindex(... -
Array
# rotate!(cnt = 1) -> self (72319.0) -
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆 の操作を行います。
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更しま
す。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆
の操作を行います。
@param cnt 先頭にする要素のインデックスを指定します。指定しなかった場合
は 1 になります。
整数以外のオブジェクトを指定した場合は to_int メソッドによる
暗黙の型変換を試みます。
@raise TypeError 引数に整数以外の(暗黙の型変換が行えない)オブジェクトを
指定した場合に発生します...