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/