ruby-reference-manual:898
From: Hideo Konami <dkbbd405@k...>
Date: Mon, 09 Jun 2008 10:02:41 +0900
Subject: [ruby-reference-manual:898] Array クラスメソッド日本語(初稿)
以下に貼付けます。この後は Hash の予定です。
実行例を少し変更したものがあります。また,乱数を使うものについては
srand()が有効という記述を追加しました。
-----
try_convert(obj) -> array or nil
to_ary メソッドを用いて obj を配列に変換しようとします。何らかの理由
で変換できないときには nil を返します。このメソッドは引数が配列であるか
どうかを調べるために使えます。
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 is a string
end
---------
choice -> object
配列の要素を1個ランダムに選んで返します。srand()が有効です。
--------
combination(n) { |c| block } -> Array
combination(n) -> Enumerable::Enumerator
長さ n の組み合わせをすべて生成し,それを引数としてブロックを実行し
ます。得られる組み合わせの順序は保証されません。ブロックなしで呼び出され
ると, 組み合わせを生成する Enumerator オブジェクトを返します。
Examples:
a = [1, 2, 3, 4]
ar.combination(2){|x| p x}
#=> [1, 2]
[1, 3]
[1, 4]
[2, 3]
[2, 4]
[3, 4]
a.combination(2).to_a #=> [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
--------
cycle {|obj| block }
Enumerable オブジェクトの要素を,繰り返し無限に生成し続けます。
a = ["a", "b", "c"]
a.cycle {|x| puts x } # print, a, b, c, a, b, c,.. forever.
--------
permutation(n) { |p| block } -> Array
permutation(n) -> Enumerable::Enumerator
長さ n の順列をすべて生成し,それを引数としてブロックを実行します。
得られる順列の順序は保証されません。ブロックなしで呼び出されると, 順列
を生成する Enumerator オブジェクトを返します。
Examples:
a = [1, 2, 3] # 長さ3の配列の例
a.permutation(1).to_a #=> [[1],[2],[3]]
a.permutation(2).to_a #=> [[1,2],[1,3],[2,1],[2,3],[3,1],[3,2]]
a.permutation(3).to_a #=>
[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
a.permutation(0).to_a #=> [[]]: 長さ 0 の順列は1個だけあります。
a.permutation(4).to_a #=> [] : 長さ 4 の順列は存在しません。
--------
product(other_ary, ...) -> Array
レシーバの配列と引数で与えられた配列(複数可)のすべての要素の組み合
わせを返します。返される配列の長さは,これらの配列の長さの積になります。
[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].product([3,4],[5,6]) # => [[1,3,5],[1,3,6],[1,4,5],[1,4,6],
# [2,3,5],[2,3,6],[2,4,5],[2,4,6]]
[1,2].product() # => [[1],[2]]
[1,2].product([]) # => []
--------
shuffle -> Array
配列の要素をシャッフルして,その結果を配列として返します。srand()が
有効です。
a = [ 1, 2, 3 ] #=> [1, 2, 3]
a.shuffle #=> [2, 3, 1]
--------
shuffle! -> Array | nil
配列を破壊的にシャッフルします。配列自身または nil を返します。
--------
--
ML: ruby-reference-manual@m...
使い方: http://QuickML.com/