[#42169] [Ruby 1.9-Bug#3781][Open] FIBER_USE_NATIVE が有効だと落ちるスクリプトがある — Makoto Kishimoto <redmine@...>
Bug #3781: FIBER_USE_NATIVE が有効だと落ちるスクリプトがある
5 messages
2010/09/01
[#42188] [Ruby-Bug#3794][Open] test/openssl/test_ssl.rb hungs on mswin32_100 — Akio Tajima <redmine@...>
Bug #3794: test/openssl/test_ssl.rb hungs on mswin32_100
8 messages
2010/09/06
[#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
まつもと ゆきひろです
[#42207] Re: Enhancing Numeric#step
— "Akinori MUSHA" <knu@...>
2010/09/09
At Thu, 9 Sep 2010 09:59:45 +0900,
[#42237] Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/12
At Thu, 9 Sep 2010 09:59:45 +0900,
[#42244] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/13
At Sun, 12 Sep 2010 19:51:21 +0900,
[#42305] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/29
At Mon, 13 Sep 2010 12:48:37 +0900,
[#42307] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— Yukihiro Matsumoto <matz@...>
2010/09/29
まつもと ゆきひろです
[#42308] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/29
At Wed, 29 Sep 2010 16:10:27 +0900,
[#42312] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— Yukihiro Matsumoto <matz@...>
2010/09/29
まつもと ゆきひろです
[#42318] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
— "Akinori MUSHA" <knu@...>
2010/09/30
At Wed, 29 Sep 2010 23:43:47 +0900,
[#42232] 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt) — arton <artonx@...>
artonです。
11 messages
2010/09/10
[#42233] Re: 1.9.2 readline can't handle cursorkeys, mbcs chars etc (msvcrt)
— Yukihiro Matsumoto <matz@...>
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)と申します。
[#42274] Re: WindowsでのKernel.systemの挙動、一貫性について
— "U.Nakamura" <usa@...>
2010/09/21
こんにちは、なかむら(う)です。
[#42276] Re: WindowsでのKernel.systemの挙動、一貫性について
— NAJIMA Hiroki <h.najima@...>
2010/09/21
名島(Nazy)です。
[#42277] Re: WindowsでのKernel.systemの挙動、一貫性について
— NAJIMA Hiroki <h.najima@...>
2010/09/21
名島(Nazy)です。
[#42310] ビジースレッドがあるとコンテキストスイッチが起きづらくなる — kuwamoto shintaro <beuniv@...>
こんにちは。
9 messages
2010/09/29
[#42315] [bug:trunk] ビジースレッドがあるとコンテキストスイッチが起きづらくなる
— "U.Nakamura" <usa@...>
2010/09/30
こんにちは、なかむら(う)です。
[ruby-dev:42244] Re: Introducing "rb_scan_keyword_args()" (was Re: Re: Enhancing Numeric#step)
From:
"Akinori MUSHA" <knu@...>
Date:
2010-09-13 03:48:37 UTC
List:
ruby-dev #42244
At Sun, 12 Sep 2010 19:51:21 +0900,
I wrote:
> At Thu, 9 Sep 2010 09:59:45 +0900,
> matz wrote:
> > でキーワード辞書を取れたり、
> >
> > rb_scan_keywords(kw, "by", &step, "to", &limit, NULL);
> >
> > で、キーワード辞書を分解したりするようなAPIはどうだろうかと
> > 考えています。
>
> 少し考えてから、 rb_scan_keyword_args() というものを設計・実装
> してみました。仕様は以下の差分中に(日本語も)あるので見てみて
> ください。
>
> 改良点として、 fmt の頭に ':' を置くと、キーワード名として
> const char * でなく ID を取るという機能を付けると、何度も呼び
> 出されることを考慮して効率のために rb_intern() の結果を取って
> おくようなところでも使えるのかなと思っています。
rb_intern() 程度の手間は強いてもいいかなと思ったので、IDを取る
ようにしました。(パッチは省きます)
> まあ、そこはAPI仕様としては枝葉として、幹としての機能はこれで
> いかがでしょうか。
想定されるRubyのAPIと対比してみると、こういう感じです。
# 省略可能キーワード
argc = rb_scan_keyword_args(argc, argv, "2:", &x, &y, &opt);
rb_scan_keyword_args(opt, "*", rb_intern("color"), &color, 0, &rest);
def point(x, y, color: color = :DEFAULT, **rest)
end
# 必須キーワード
argc = rb_scan_keyword_args(argc, argv, "2:", &x, &y, &opt);
rb_scan_keyword_args(opt, "1*", rb_intern("color"), &color, 0, &rest);
def point(x, y, color: color, **rest)
end
# 残りを読み捨て
argc = rb_scan_keyword_args(argc, argv, "2:", &x, &y, &opt);
rb_scan_keyword_args(opt, "1*", rb_intern("color"), &color, 0, NULL);
def point(x, y, color: color, **rest)
end
# 知らないキーワードはwarning
argc = rb_scan_keyword_args(argc, argv, "2:", &x, &y, &opt);
rb_scan_keyword_args(opt, "1", rb_intern("color"), &color, 0);
def point(x, y, color: color, **rest)
warn "unknown keywords: #{rest.keys.inspect}" if rest && $VERBOSE
end
# 知らないキーワードはArgumentError
argc = rb_scan_keyword_args(argc, argv, "2:", &x, &y, &opt);
rb_scan_keyword_args(opt, "1!", rb_intern("color"), &color, 0);
def point(x, y, color: color)
end
--
Akinori MUSHA / http://akinori.org/