[#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:42308] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)

From: "Akinori MUSHA" <knu@...>
Date: 2010-09-29 07:45:38 UTC
List: ruby-dev #42308
At Wed, 29 Sep 2010 16:10:27 +0900,
matz wrote:
> この辺の文法は好みではありません。
>
> 引数をシンボルにしたのでこのようになっているのだと思いますが、
> 個人的には
>
>  * シンボルでなく文字列

 メソッド呼び出しごとの rb_intern() のコストはどう考えますか?
現状の手書き処理ではほぼ漏れなくIDまたはSymbolを事前生成している
実態に即してIDを取れるようにしたのですが。

>  * 文字列末尾に:がついていたらoptional
>    または文字列末尾に!がついていたらmandatory
>  * "*" があれば残りがハッシュとして渡る
>  * "*" が指定されていなければ例外

 これも、呼び出しごとに切り出しとコピーを含む文字列処理が必要に
なるのが気になります。

 逆に動的生成のキーワード群を扱いたいシーンでも、自前でアロケート
&コピーする手間が生じて煩わしいのではないでしょうか。

 提案中の仕様は、所与のkeywordを加工せずに渡せる利点があります。

必須引数:
    rb_scan_keyword_args(opt, "1*", rb_intern(keyword), &val, NULL, &opt);

省略可能引数:
    rb_scan_keyword_args(opt, "*", rb_intern(keyword), &val, NULL, &opt);


 なお、わざわざ * を渡さないと残り受け取れない仕様にしてあるのは
拡張性が念頭にあります。返り値がないのもそうですが、上の例を見ると
キャプチャーした数を返すのが妥当な気がしてきました。

>  * soft warningはなし

 確かになくてもいいのかも。

> を考えていました。あと関数名はrb_scan_keyword_argsじゃなくて、
> rb_keyword_argsがいいかなあ。

 動詞なしはちょっと…。rb_scan_kwargsくらいに縮めればいいですか?

--
Akinori MUSHA / http://akinori.org/

In This Thread