Ruby 2.4.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Arrayクラス
クラス・モジュールの継承リスト: Array
< Enumerable
< Object
< Kernel
< BasicObject
dynamic include:
JSON::Generator::GeneratorMethods::Array (by json)
配列クラスです。配列は任意の Ruby オブジェクトを要素として持つことができます。
一般的には配列は配列式を使って
[1, 2, 3]
のように生成します。
定義 | 説明 | |
---|---|---|
self[*item] -> Array
|
引数 item を要素として持つ配列を生成して返します。 |
|
new(size = 0, val = nil) -> Array
|
長さ size の配列を生成し、各要素を val で初期化して返します。 |
|
new(ary) -> Array
|
指定された配列 ary を複製して返します。 Array#dup 同様 要素を複製しない浅い複製です。 |
|
new(size) {|index| ... } -> Array
|
長さ size の配列を生成し、各要素のインデックスを引数としてブロックを実行し、各要素の値をブロックの評価結果に設定します。 |
|
try_convert(obj) -> Array | nil
|
to_ary メソッドを用いて obj を配列に変換しようとします。 |
定義 | 説明 | |
---|---|---|
self & other -> Array
|
集合の積演算です。両方の配列に含まれる要素からなる新しい配列を返します。重複する要素は取り除かれます。 |
|
self * times -> Array
|
配列の内容を times 回 繰り返した新しい配列を作成して返します。値はコピーされないことに注意してください。 |
|
self * sep -> String
|
指定された sep を間にはさんで連結した文字列を生成して返します。Array#join(sep) と同じ動作をします。 |
|
self + other -> Array
|
自身と other の内容を繋げた配列を生成して返します。 |
|
self - other -> Array
|
自身から other の要素を取り除いた配列を生成して返します。 |
|
self << obj -> self
|
指定された obj を自身の末尾に破壊的に追加します。 |
|
self <=> other -> -1 | 0 | 1 | nil
|
自身と other の各要素をそれぞれ順に <=> で比較していき、結果が 0 でなかった場合にその値を返します。各要素が等しく、配列の長さも等しい場合には 0 を返します。各要素が等しいまま一方だけ配列の末尾に達した時、自身の方が短ければ -1 をそうでなければ 1 を返します。 other に配列以外のオブジェクトを指定した場合は nil を返します。 |
|
self == other -> bool
|
自身と other の各要素をそれぞれ順に == で比較して、全要素が等しければ true を返します。そうでない場合には false を返します。 |
|
self[nth] -> object | nil
|
nth 番目の要素を返します。nth 番目の要素が存在しない時には nil を返します。 |
|
self[range] -> Array | nil
|
Range オブジェクト range の範囲にある要素からなる部分配列を返します。 range の begin が自身の範囲外となる時は nil を返します。ただし、begin が配列の長さに等しいときは空の配列を返します。 range の begin が end より後にある場合には空の配列を返します。 |
|
self[start, length] -> Array | nil
|
start 番目から length 個の要素を含む部分配列を返します。 start が自身の範囲外となる時は nil を返します。ただし、start が配列の長さに等しいときは空の配列を返します。 length が負の時は nil を返します。 |
|
self[nth] = val
|
nth 番目の要素を val に設定します。nth が配列の範囲を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。 |
|
self[range] = val
|
Range オブジェクト range の範囲にある要素を配列 val の内容に置換します。 range の first が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。 |
|
self[start, length] = val
|
インデックス start から length 個の要素を配列 val の内容で置き換えます。 start が自身の末尾を越える時には配列の長さを自動的に拡張し、拡張した領域を nil で初期化します。 |
|
any? -> bool
|
すべての要素が偽である場合に false を返します。真である要素があれば、ただちに true を返します。 |
|
assoc(key) -> Array | nil
|
配列の配列を検索して、その 0 番目の要素が key に == で等しい最初の要素を返します。該当する要素がなければ nil を返します。 |
|
bsearch { |x| ... } -> object | nil
|
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値を二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。 |
|
bsearch_index { |x| ... } -> Integer | nil
|
ブロックの評価結果で範囲内の各要素の判定を行い、条件を満たす値の位置を二分探索(計算量は O(log n))で検索します。要素が見つからない場合は nil を返します。self はあらかじめソートしておく必要があります。 |
|
clear -> self
|
配列の要素をすべて削除して空にします。 |
|
clone -> Array
|
レシーバと同じ内容を持つ新しい配列を返します。 |
|
collect -> Enumerator
|
各要素に対してブロックを評価した結果を全て含む配列を返します。 |
|
collect! {|item| ..} -> self
|
各要素を順番にブロックに渡して評価し、その結果で要素を置き換えます。 |
|
combination(n) {|c| block } -> self
|
サイズ n の組み合わせをすべて生成し、それを引数としてブロックを実行します。 |
|
compact -> Array
|
compact は自身から nil を取り除いた配列を生成して返します。 compact! は自身から破壊的に nil を取り除き、変更が行われた場合は self を、そうでなければ nil を返します。 |
|
concat(other) -> self
|
配列 other を自身の末尾に破壊的に連結します。 |
|
concat(*other_arrays) -> self
|
other_arrays の要素を自身の末尾に破壊的に連結します。 |
|
count -> Integer
|
レシーバの要素数を返します。 |
|
cycle(n=nil) {|obj| block } -> nil
|
配列の全要素を n 回(nilの場合は無限に)繰り返しブロックを呼びだします。 |
|
delete(val) -> object | nil
|
指定された val と == で等しい要素を自身からすべて取り除きます。等しい要素が見つかった場合は最後に見つかった要素を、そうでない場合には nil を返します。 |
|
delete_at(pos) -> object | nil
|
指定された位置 pos にある要素を取り除きそれを返します。 pos が範囲外であったら nil を返します。 |
|
delete_if {|x| ... } -> self
|
要素を順番にブロックに渡して評価し、その結果が真になった要素をすべて削除します。 delete_if は常に self を返しますが、reject! は要素が 1 つ以上削除されれば self を、 1 つも削除されなければ nil を返します。 |
|
dig(idx, ...) -> object | nil
|
self 以下のネストしたオブジェクトを dig メソッドで再帰的に参照して返します。途中のオブジェクトが nil であった場合は nil を返します。 |
|
drop(n) -> Array
|
配列の先頭の n 要素を捨てて、残りの要素を配列として返します。このメソッドは自身を破壊的に変更しません。 |
|
drop_while -> Enumerator
|
ブロックを評価して最初に偽となった要素の手前の要素まで捨て、残りの要素を配列として返します。このメソッドは自身を破壊的に変更しません。 |
|
each {|item| .... } -> self
|
各要素に対してブロックを評価します。 |
|
each_index {|index| .... } -> self
|
各要素のインデックスに対してブロックを評価します。 |
|
empty? -> bool
|
自身の要素の数が 0 の時に真を返します。そうでない場合に false を返します。 |
|
eql?(other) -> bool
|
自身と other の各要素をそれぞれ順に Object#eql? で比較して、全要素が等しければ真を返します。そうでない場合に false を返します。 |
|
fetch(nth) -> object
|
nth 番目の要素を返します。 |
|
fill(val) -> self
|
すべての要素に val をセットします。 |
|
fill(val, start, length = nil) -> self
|
配列の指定された範囲すべてに val をセットします。 |
|
find_index(val) -> Integer | nil
|
条件に一致する最初の要素の位置を返します。 |
|
first -> object | nil
|
配列の先頭の要素を返します。要素がなければ nil を返します。 |
|
first(n) -> Array
|
先頭の n 要素を配列で返します。n は 0 以上でなければなりません。 |
|
flatten(lv = nil) -> Array
|
flatten は自身を再帰的に平坦化した配列を生成して返します。flatten! は自身を再帰的かつ破壊的に平坦化し、平坦化が行われた場合は self をそうでない場合は nil を返します。 lv が指定された場合、lv の深さまで再帰的に平坦化します。 |
|
hash -> Integer
|
自身のハッシュ値を整数で返します。ハッシュ値は自身の各要素のハッシュ値から計算されます。Array#eql? で比較して等しい配列同士は同じハッシュ値を返します。 |
|
include?(val) -> bool
|
配列が val と == で等しい要素を持つ時に真を返します。 |
|
insert(nth, *val) -> self
|
インデックス nth の要素の直前(nth が負の場合は直後)に第 2 引数以降の値を挿入します。引数 val を一つも指定しなければ何もしません。 |
|
to_s -> String
|
自身の情報を人間に読みやすい文字列にして返します。 |
|
join(sep = $,) -> String
|
配列の要素を文字列 sep を間に挟んで連結した文字列を返します。 |
|
keep_if {|item| ... } -> self
|
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。 |
|
last -> object | nil
|
配列の末尾の要素を返します。配列が空のときは nil を返します。 |
|
last(n) -> Array
|
末尾の n 要素を配列で返します。n は 0 以上でなければなりません。 |
|
length -> Integer
|
配列の長さを返します。配列が空のときは 0 を返します。 |
|
max -> object | nil
|
最大の要素、もしくは最大の n 要素が降順に入った配列を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。 |
|
max {|a, b| ... } -> object | nil
|
ブロックの評価結果で各要素の大小判定を行い、最大の要素、もしくは最大の n 要素が降順に入った配列を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。 |
|
min -> object | nil
|
最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。全要素が互いに <=> メソッドで比較できることを仮定しています。 |
|
min {|a, b| ... } -> object | nil
|
ブロックの評価結果で各要素の大小判定を行い、最小の要素、もしくは最小の n 要素が昇順で入った配列を返します。引数を指定しない形式では要素が存在しなければ nil を返します。引数を指定する形式では、空の配列を返します。 |
|
pack(template) -> String
|
配列の内容を template で指定された文字列にしたがって、バイナリとしてパックした文字列を返します。 |
|
permutation(n = self.length) { |p| block } -> self
|
サイズ n の順列をすべて生成し,それを引数としてブロックを実行します。 |
|
pop -> object | nil
|
自身の末尾から要素を取り除いてそれを返します。引数を指定した場合はその個数だけ取り除き、それを配列で返します。 |
|
product(*lists) -> Array
|
レシーバの配列と引数で与えられた配列(複数可)のそれぞれから要素を1 個ずつとって配列とし,それらのすべての配列を要素とする配列を返します。 |
|
push(*obj) -> self
|
指定された obj を順番に配列の末尾に追加します。引数を指定しなければ何もしません。 |
|
rassoc(obj) -> Array | nil
|
自身が配列の配列であると仮定して、要素の配列でインデックス 1 の要素が obj に等しいものを検索し見つかった最初の要素を返します。該当する要素がなければ nil を返します。 |
|
reject -> Enumerator
|
各要素に対してブロックを評価し、その値が偽であった要素を集めた新しい配列を返します。条件を反転させた select です。 |
|
repeated_combination(n) { |c| ... } -> self
|
サイズ n の重複組み合わせをすべて生成し、それを引数としてブロックを実行します。 |
|
repeated_permutation(n) { |p| ... } -> self
|
サイズ n の重複順列をすべて生成し,それを引数としてブロックを実行します。 |
|
replace(another) -> self
|
配列の内容を配列 another の内容で置き換えます。 |
|
reverse -> Array
|
reverse は自身の要素を逆順に並べた新しい配列を生成して返します。 reverse! は自身を破壊的に並べ替えます。 reverse! は self を返します。 |
|
reverse_each {|item| ... } -> self
|
各要素に対して逆順にブロックを評価します。 |
|
rindex(val) -> Integer | nil
|
指定された val と == で等しい最後の要素の位置を返します。等しい要素がひとつもなかった時には nil を返します。 |
|
rotate(cnt = 1) -> Array
|
cnt で指定したインデックスの要素が先頭になる配列を新しく作成します。 cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操作を行います。 |
|
rotate!(cnt = 1) -> self
|
cnt で指定したインデックスの要素が先頭になるように自身の順番を変更します。cnt より前の要素は末尾に移動します。cnt に負の数を指定した場合、逆の操作を行います。 |
|
sample -> object | nil
|
配列の要素を1個(引数を指定した場合は自身の要素数を越えない範囲で n 個) ランダムに選んで返します。 |
|
select -> Enumerator
|
各要素に対してブロックを評価した値が真であった要素を全て含む配列を返します。真になる要素がひとつもなかった場合は空の配列を返します。 |
|
select! {|item| block } -> self | nil
|
ブロックが真を返した要素を残し、偽を返した要素を自身から削除します。変更があった場合は self を、変更がなかった場合には nil を返します。 |
|
shift -> object | nil
|
配列の先頭の要素を取り除いてそれを返します。引数を指定した場合はその個数だけ取り除き、それを配列で返します。 |
|
shuffle -> Array
|
配列の要素をランダムシャッフルして,その結果を配列として返します。 |
|
shuffle! -> self
|
配列を破壊的にランダムシャッフルします。 |
|
slice(nth) -> object | nil
|
指定された自身の要素を返します。Array#[] と同じです。 |
|
slice(pos, len) -> Array | nil
|
指定された自身の部分配列を返します。Array#[] と同じです。 |
|
slice!(nth) -> object | nil
|
指定した要素を自身から取り除き、取り除いた要素を返します。取り除く要素がなければ nil を返します。 |
|
slice!(start, len) -> Array | nil
|
指定した部分配列を自身から取り除き、取り除いた部分配列を返します。取り除く要素がなければ nil を返します。 |
|
sort -> Array
|
配列の内容をソートします。要素同士の比較は <=> 演算子を使って行います。sort はソートされた配列を生成して返します。 sort! は self を破壊的にソートし、self を返します。 |
|
sort_by! -> Enumerator
|
sort_by の破壊的バージョンです。 |
|
sum(init=0) -> object
|
要素の合計を返します。例えば [e1, e2, e3].sum は init + e1 + e2 + e3 を返します。 |
|
take(n) -> Array
|
配列の先頭から n 要素を配列として返します。このメソッドは自身を破壊的に変更しません。 |
|
take_while -> Enumerator
|
配列の要素を順に偽になるまでブロックで評価します。最初に偽になった要素の手前の要素までを配列として返します。このメソッドは自身を破壊的に変更しません。 |
|
to_a -> Array
|
self を返します。ただし、Array のサブクラスのインスタンスに対して呼ばれた時は、自身を Array に変換したものを返します。 |
|
to_ary -> self
|
self をそのまま返します。 |
|
to_h -> Hash
|
self を [key, value] のペアの配列として解析した結果を Hash にして返します。 |
|
transpose -> Array
|
自身を行列と見立てて、行列の転置(行と列の入れ換え)を行います。転置した配列を生成して返します。空の配列に対しては空の配列を生成して返します。 |
|
uniq -> Array
|
uniq は配列から重複した要素を取り除いた新しい配列を返します。 uniq! は削除を破壊的に行い、削除が行われた場合は self を、そうでなければnil を返します。 |
|
unshift(*obj) -> self
|
指定された obj を引数の最後から順番に配列の先頭に挿入します。引数を指定しなければ何もしません。 |
|
values_at(*selectors) -> Array
|
引数で指定されたインデックスに対応する要素を配列で返します。インデックスに対応する値がなければ nil が要素になります。 |
|
zip(*lists) -> [[object]]
|
自身と引数に渡した配列の各要素からなる配列の配列を生成して返します。生成される配列の要素数は self の要素数と同じです。 |
|
self | other -> Array
|
集合の和演算です。両方の配列にいずれかに含まれる要素を全て含む新しい配列を返します。重複する要素は取り除かれます。 |
!
!=
__id__
__send__
instance_eval
instance_exec
method_missing
singleton_method_added
singleton_method_removed
singleton_method_undefined
all?
chunk
chunk_while
collect_concat
detect
each_cons
each_entry
each_slice
each_with_index
each_with_object
entries
find_all
grep
grep_v
group_by
include?
inject
lazy
max_by
min_by
minmax
minmax_by
none?
one?
partition
slice_after
slice_before
slice_when
sort_by
to_set
!~
===
=~
_dump
class
define_singleton_method
display
enum_for
equal?
extend
freeze
frozen?
initialize
initialize_copy
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
itself
marshal_dump
marshal_load
method
methods
nil?
object_id
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
psych_to_yaml
public_method
public_methods
public_send
remove_instance_variable
respond_to?
respond_to_missing?
send
singleton_class
singleton_method
singleton_methods
taint
tainted?
tap
to_hash
to_int
to_io
to_proc
to_regexp
to_str
trust
untaint
untrust
untrusted?
.yaml_tag
::ARGF
::ARGV
::DATA
::ENV
::FALSE
::NIL
::RUBY_COPYRIGHT
::RUBY_DESCRIPTION
::RUBY_ENGINE
::RUBY_ENGINE_VERSION
::RUBY_PATCHLEVEL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_REVISION
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING
::TRUE
定義 | 説明 | ライブラリ |
---|---|---|
abbrev(pattern = nil) -> Hash
|
self が文字列の配列の場合、self から一意に決まる短縮形を計算し、短縮形をキー、元の文字列を値とするハッシュを返します。 |
abbrev |
shelljoin -> String
|
配列の各要素である文字列に対して、Bourne シェルのコマンドライン中で安全に使えるためのエスケープを適用し、空白文字を介してそれらを連結したコマンドライン文字列を生成します。 |
shellwords |
to_csv(**options) -> String
|
CSV.generate_line(self, options) と同様です。 |
csv |