ruby-reference-manual:1662
From: 5 5 <redmine@r...>
Date: Tue, 25 Aug 2009 15:57:09 +0900
Subject: [ruby-reference-manual:1662] [Bug #1994] Enumerable#each_cons の説明
Bug #1994: Enumerable#each_cons の説明 http://redmine.ruby-lang.org/issues/show/1994 起票者: 5 5 ステータス: Open, 優先度: Normal カテゴリ: doc reporter: 5.5, ruby_version: 1.8, 1.9 Enumerable#each_cons の説明が 要素を重複ありで n 要素ずつに区切り、ブロックに渡して繰り返します。 となっていますが,each_slice と違って,区切るわけではないので,日本語としておかしいです。 each_cons を言葉だけで表現するのは難しいですが,たとえば 連続する n 個の要素を先頭から順にブロックに渡して実行します。Enumerable#each_slice と違って,渡される要素には重複があります。繰り返しの数は 要素数-n+1 回となります。 ブロックが与えられなかった場合は,対応する Enumerator オブジェクトを返します。 とかで如何でしょうか。 実行例は,Enumerable#each_slice と対比する意味で,Enumerable#each_slice の実行例に合わせ,[1, 2, 3, 4, 5] ではなく 1..10 に対して呼び出すようにしたほうがより良いと思います。 [PARAM] n の説明は ブロックに渡す要素の数です。正の整数を与えます。要素数より大きな n を与えると,ブロックは一度も実行されません。 とかで如何でしょうか。 実行例として,1万までの双子素数を見出す以下のようなスクリプトを挙げるのは蛇足すぎますか? if RUBY_VERSION>="1.9.0" require 'prime' prime=Prime.instance else require 'mathn' prime=Prime.new end prime.each_cons(2) do |x, y| break if y>10000 puts format("%4d, %4d", x, y) if x+2==y end ---------------------------------------- http://redmine.ruby-lang.org -- ML: ruby-reference-manual@m... 使い方: http://QuickML.com/
-> 1662 2009-08-25 08:57 [redmine@r... ] [Bug #1994] Enumerable#each_cons の説明 2329 2010-06-26 08:57 ┗[redmine@r... ] [Bug #1994][Closed] Enumerable#each_cons の説明