[#43610] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. — Hiroshi Nakamura <nakahiro@...>

ruby-listから持って来ました。でも続かなそう。

12 messages 2011/06/02

[#43643] DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...>

こんにちは、アーロンです。

25 messages 2011/06/07
[#43647] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

blocker はお前だろ。

[#43648] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43651] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> うーん、ただでさえ日英のコミュニケーション障壁があるのに、よ

[#43653] Re: DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...> 2011/06/07

2011/6/7 Tadayoshi Funaba <tadf@dotrb.org>:

[#43657] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

皆さんってのに俺は入ってないみたいだな。

[#43661] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43662] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> Aaronが言ってる「リリース」は1.9.3のことだと思いますよ。

[#43645] Re: [ruby-core:36778] Re: 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>

Moving to ruby-dev to understand strategies of backporting the Tk

13 messages 2011/06/07

[#43787] [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...>

24 messages 2011/06/13
[#43788] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/13

まつもと ゆきひろです

[#43789] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

もう結論が出てしまったようですが、これは、元々 lib/complex.rb にあった

[#43794] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/13

むらたです。

[#43795] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

> complex.rb をロードすると Math が CMath 相当に置き換わりますから、

[#43797] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

むらたです。

[#43799] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/14

まつもと ゆきひろです

[#43800] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

むらたです。

[#43803] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> これに相当する事をやっているのが complex.rb なので、

[#43806] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

遠藤です。

[#43807] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 定義域を増やすだけにしよう、ということですよね。賛成です。

[#43809] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日22:17 Tadayoshi Funaba <tadf@dotrb.org>:

[#43810] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 互換性がないという点では同じ話だと思うのですが……。

[#43811] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日23:02 Tadayoshi Funaba <tadf@dotrb.org>:

[#43812] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> いやあ、5 月末の feature freeze 時点では -2 を返していたはずなんですが、

[#43852] [Ruby 1.9 - Bug #4909][Open] trapハンドラは再入されてはいけないのではないか? — Motohiro KOSAKI <kosaki.motohiro@...>

11 messages 2011/06/20

[ruby-dev:43704] [Ruby 1.9 - Feature #227][Closed] rb_scan_args() for keyword arguments

From: Koichi Sasada <redmine@...>
Date: 2011-06-11 05:14:41 UTC
List: ruby-dev #43704
Issue #227 has been updated by Koichi Sasada.

Status changed from Assigned to Closed

違う形で入ったらしいので終了.
----------------------------------------
Feature #227: rb_scan_args() for keyword arguments
http://redmine.ruby-lang.org/issues/227

Author: Nobuyoshi Nakada
Status: Closed
Priority: Low
Assignee: Yukihiro Matsumoto
Category: 
Target version: 1.9.x


=begin
 なかだです。
 
 rb_scan_args()でキーワード引数に対応するパッチを発掘しました。
 
   rb_scan_args(argc, argv, "11:foo", &mandatory, &optional, &foo)
 とか
   rb_scan_args(argc, argv, "11::", &mandatory, &optional, rb_intern("foo"), &foo, (ID)0)
 とか書けるようになるはずだったと思います。
 
 
 Index: class.c
 ===================================================================
 --- class.c	(revision 17903)
 +++ class.c	(working copy)
 @@ -871,4 +871,5 @@ rb_scan_args(int argc, const VALUE *argv
      const char *p = fmt;
      VALUE *var;
 +    VALUE opt = 0;
      va_list vargs;
  
 @@ -876,4 +877,13 @@ rb_scan_args(int argc, const VALUE *argv
  
      if (*p == '*') goto rest_arg;
 +    if (strchr(fmt, ':')) {
 +	if (argc > 0 && TYPE(opt = argv[argc-1]) == T_HASH) {
 +	    --argc;
 +	}
 +	else {
 +	    opt = 0;
 +	}
 +	if (*p == ':') goto keyword;
 +    }
  
      if (ISDIGIT(*p)) {
 @@ -895,9 +905,6 @@ rb_scan_args(int argc, const VALUE *argv
  	for (; i<n; i++) {
  	    var = va_arg(vargs, VALUE*);
 -	    if (argc > i) {
 -		if (var) *var = argv[i];
 -	    }
 -	    else {
 -		if (var) *var = Qnil;
 +	    if (var) {
 +		*var = argc > i ? argv[i] : Qnil;
  	    }
  	}
 @@ -905,5 +912,32 @@ rb_scan_args(int argc, const VALUE *argv
      }
  
 -    if(*p == '*') {
 +  keyword:
 +    if (*p == ':') {
 +	if (p[1] == ':') {
 +	    ID name;
 +	    while ((name = va_arg(vargs, ID)) != 0) {
 +		var = va_arg(vargs, VALUE*);
 +		if (var) {
 +		    *var = opt ? rb_hash_lookup(opt, name) : Qnil;
 +		}
 +	    }
 +	}
 +	else {
 +	    do {
 +		const char *beg = ++p;
 +		if (*p != '_' && !ISALPHA(*p)) goto error;
 +		while (*p == '_' || ISALNUM(*p)) p++;
 +		if (*p && !strchr(":*&", *p)) goto error;
 +		var = va_arg(vargs, VALUE*);
 +		if (var) {
 +		    *var = opt ?
 +			rb_hash_lookup(opt, rb_intern2(beg, p - beg)) :
 +			Qnil;
 +		}
 +	    } while (*p == ':');
 +	}
 +    }
 +
 +    if (*p == '*') {
        rest_arg:
  	var = va_arg(vargs, VALUE*);
 
 
 -- 
 --- 僕の前にBugはない。
 --- 僕の後ろにBugはできる。
     中田 伸悦
=end



-- 
http://redmine.ruby-lang.org

In This Thread

Prev Next