[#42194] Enhancing Numeric#step — "Akinori MUSHA" <knu@...>

 Numeric#step の仕様の拡張を提案します。

26 messages 2010/09/08
[#42196] Re: Enhancing Numeric#step — Yukihiro Matsumoto <matz@...> 2010/09/08

まつもと ゆきひろです

[#42200] Re: Enhancing Numeric#step — "Akinori MUSHA" <knu@...> 2010/09/08

At Wed, 8 Sep 2010 22:46:57 +0900,

[#42204] Re: Enhancing Numeric#step — Yukihiro Matsumoto <matz@...> 2010/09/09

まつもと ゆきひろです

[#42232] 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt) — arton <artonx@...>

artonです。

11 messages 2010/09/10

[#42269] [Ruby 1.9-Bug#3836] Kernel.system, spawnがスペースを含むパスで動作しない — Hiroki Najima <redmine@...>

チケット #3836 が更新されました。 (by Hiroki Najima)

12 messages 2010/09/16
[#42270] WindowsでのKernel.systemの挙動、一貫性について — NAJIMA Hiroki <h.najima@...> 2010/09/16

名島(Nazy)と申します。

[#42310] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — kuwamoto shintaro <beuniv@...>

こんにちは。

9 messages 2010/09/29
[#42315] [bug:trunk] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — "U.Nakamura" <usa@...> 2010/09/30

こんにちは、なかむら(う)です。

[ruby-dev:42196] Re: Enhancing Numeric#step

From: Yukihiro Matsumoto <matz@...>
Date: 2010-09-08 13:46:57 UTC
List: ruby-dev #42196
まつもと ゆきひろです

In message "Re: [ruby-dev:42194] Enhancing Numeric#step"
    on Wed, 8 Sep 2010 21:58:11 +0900, "Akinori MUSHA" <knu@iDaemons.org> writes:

| 現在、 Numeric#step は limit を必須引数としているため、手軽に
|無限数列を生成することができません。Float::INFINITY ないし 1/0.0
|のような値を渡せば可能ではありますが、「1から上限なしでカウント
|アップする」のようなよくある要件を満たす方法としては冗長です。
|
| そこで、上限(下限)なしでループするように limit も省略可能とし、
|なおかつ増分のみの指定もできるように疑似キーワード引数を導入して
|みました。
|
|1.step {|i| ... }               # i = 1, 2, 3, ...
|-1.step(by:-1) {|i| ... }      # i = -1, -2, -3, ...
|1.0.step(by: 0.1, to: 2.0).to_a # [1.0, 1.1, ..., 2.0] (余談:誤差に注意)
|2.step(by:2).take(100)          # [2, 4, 6, ..., 200]
|
| キーワードを by: と to: にしたので、従来のように順序で意味を
|表すより読みやすいと思います。いかがでしょうか。

キーワード引数を付けるなら、stepよりはtoの方が向いているケー
スもありそうな気がします。結局stepという名前を受け入れられる
かどうかがポイントですね。

個人的には違和感ありなんですが、stepを「進む」と動詞でとらえ
るなら許容できるのかも。

In This Thread