[#31166] is_ruby_native_thread() — Masahiro Sakai (酒井政裕) <masahiro.sakai@...>

酒井です。

16 messages 2007/07/08
[#31269] Re: is_ruby_native_thread() — Nobuyoshi Nakada <nobu@...> 2007/07/21

なかだです。

[#31270] Re: is_ruby_native_thread() — Hidetoshi NAGAI <nagai@...> 2007/07/22

永井@知能.九工大です.

[#31298] retryの使い方 — eklerni <eklerni@...>

松尾といいます。

52 messages 2007/07/25
[#31299] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/07/26

 ささだです。

[#31300] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾です、返信ありがとうございます。

[#31303] Re: retryの使い方 — Yugui <yugui@...> 2007/07/26

Yuguiといいます。

[#31306] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

松尾といいます。

[#31308] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/26

In article <46A909DD.1070405@for.mail-box.ne.jp>,

[#31310] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/26

Tanaka Akira さんは書きました:

[#31314] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46A92530.80507@for.mail-box.ne.jp>,

[#31315] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/30

Tanaka Akira さんは書きました:

[#31316] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/07/30

In article <46AD7A16.8080509@for.mail-box.ne.jp>,

[#31317] Re: retryの使い方 — eklerni <eklerni@...> 2007/07/31

松尾です。

[#31381] Re: retryの使い方 — SASADA Koichi <ko1@...> 2007/08/12

 ささだです。

[#31422] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31425] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/15

In article <E1ILDTi-0005T6-Be@x31>,

[#31426] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/15

まつもと ゆきひろです

[#31433] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILKn6-0003Nv-0f@x31>,

[#31435] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/16

まつもと ゆきひろです

[#31447] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/16

In article <E1ILVN9-0006xJ-7I@x31>,

[#31450] Re: retryの使い方 — Tanaka Akira <akr@...> 2007/08/17

In article <E1ILq4x-0002Bs-Lg@x31>,

[#31451] Re: retryの使い方 — Yukihiro Matsumoto <matz@...> 2007/08/17

まつもと ゆきひろです

[ruby-dev:31267] Re: +:x doesn't raise exception

From: Nobuyoshi Nakada <nobu@...>
Date: 2007-07-20 02:59:34 UTC
List: ruby-dev #31267
なかだです。

At Thu, 19 Jul 2007 22:13:04 +0900,
Yusuke ENDOH wrote in [ruby-dev:31264]:
> Symbol#+@ や Regexp#+@ がないのに以下が例外にならないのは
> 仕様でしょうか。

リテラルの単項+は無視してるんですが、エラーのほうがいいでしょ
うか。ついでに単項−も可能なら変換するようにしてみましたが。


Index: parse.y
===================================================================
--- parse.y	(revision 12819)
+++ parse.y	(working copy)
@@ -420,4 +420,9 @@ extern int rb_local_defined(ID);
 extern int rb_parse_in_eval(void);
 
+#define numeric_p(val) (\
+	FIXNUM_P(val) || \
+	(!SPECIAL_CONST_P(val) && \
+	 (BUILTIN_TYPE(val) == T_FLOAT || BUILTIN_TYPE(val) == T_BIGNUM)))
+
 #else
 #define remove_begin(node) (node)
@@ -2007,5 +2012,6 @@ arg		: lhs '=' arg
 		    {
 		    /*%%%*/
-			if ($2 && nd_type($2) == NODE_LIT) {
+			$$ = 0;
+			if ($2 && nd_type($2) == NODE_LIT && numeric_p($2->nd_lit)) {
 			    $$ = $2;
 			}
@@ -2020,5 +2026,10 @@ arg		: lhs '=' arg
 		    {
 		    /*%%%*/
-			$$ = call_op($2, tUMINUS, 0, 0);
+			if ($2 && nd_type($2) == NODE_LIT && numeric_p($2->nd_lit)) {
+			    $$ = negate_lit($2);
+			}
+			else {
+			    $$ = call_op($2, tUMINUS, 0, 0);
+			}
 		    /*%
 			$$ = dispatch2(unary, ripper_intern("-@"), $2);
@@ -7901,8 +7912,8 @@ negate_lit(NODE *node)
     switch (TYPE(node->nd_lit)) {
       case T_FIXNUM:
-	node->nd_lit = LONG2FIX(-FIX2LONG(node->nd_lit));
+	node->nd_lit = LONG2NUM(-FIX2LONG(node->nd_lit));
 	break;
       case T_BIGNUM:
-	node->nd_lit = rb_funcall(node->nd_lit,tUMINUS,0,0);
+	RBIGNUM(node->nd_lit)->sign = !RBIGNUM(node->nd_lit)->sign;
 	break;
       case T_FLOAT:


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread