[#20525] [BigDecimal] changing rule of coerce — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

44 messages 2003/07/07
[#20527] Re: [BigDecimal] changing rule of coerce — "Shigeo Kobayashi" <shigeo@...> 2003/07/07

小林です。

[#20528] Re: [BigDecimal] changing rule of coerce — matz@... (Yukihiro Matsumoto) 2003/07/07

まつもと ゆきひろです

[#20570] Marshal upgrade — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

41 messages 2003/07/09
[#20575] Re: Marshal upgrade — Masatoshi SEKI <m_seki@...> 2003/07/09

咳といいます。

[#20583] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/09

まつもと ゆきひろです

[#21016] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/30

まつもと ゆきひろです

[#20804] add library — nobu.nakada@... 2003/07/23

なかだです。

[#20580] add library(Re:ruby-dev:20570) — たむらけんいち <sgs02516@...>

たむらです。

30 messages 2003/07/09
[#20656] Re: add library — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/07/14

なひです。

[#20658] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <038d01c349cb$eaad71d0$93222fc0@sarion.co.jp>,

[#20659] Re: add library — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20660] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <1058171960.400840.10041.nullmailer@picachu.netlab.jp>,

[#20661] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

話をそらしてしまうかもしれませんが、

[#20665] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030714.183104.09092354.taca@back-street.net>,

[#20666] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

In message <20030715.013655.424936247.gotoyuzo@kotetsu.does.notwork.org>

[#20668] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030715.025907.26217115.taca@back-street.net>,

[#20750] Re: add library — Takahiro Kambe <taca@...> 2003/07/21

In message <20030715.051853.968499478.gotoyuzo@kotetsu.does.notwork.org>

[#20751] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/21

In message <20030721.163444.09092937.taca@back-street.net>,

[#20655] frozen ThreadGroup — Hidetoshi NAGAI <nagai@...>

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

26 messages 2003/07/14
[#20671] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20673] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

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

[#20676] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20677] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

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

[#20681] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20690] portable(?) UserID/GroupID control (Re: frozen ThreadGroup) — Hidetoshi NAGAI <nagai@...> 2003/07/16

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

[#20712] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/17

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

[#20735] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20736] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/20

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

[#20737] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20748] [BigDecimal] exception handling — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

20 messages 2003/07/21

[#20765] Re: [ruby-cvs] ruby/lib: * lib/tmpdir.rb: new library to get temporary directory path, — WATANABE Hirofumi <eban@...>

わたなべです。

9 messages 2003/07/21

[#20780] complex.rb — Masahiro TANAKA <masa@...>

complex.rb についての修正案を[ruby-math:00543]で提案しましたが、その後

25 messages 2003/07/22
[#20782] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/22

まつもと ゆきひろです

[#20900] Re: complex.rb — Masahiro TANAKA <masa@...> 2003/07/25

At Tue, 22 Jul 2003 17:30:31 +0900, Yukihiro Matsumoto wrote:

[#20905] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/25

まつもと ゆきひろです

[#20906] Re: complex.rb — keiju@... (石塚圭樹) 2003/07/25

けいじゅ@いしつかです.

[#20810] Rational 始めました。 — Shin-ichiro HARA <sinara@...>

原です。

13 messages 2003/07/23
[#20876] Re: Rational 始めました。 — keiju@... (石塚圭樹) 2003/07/24

けいじゅ@いしつかです.

[#20954] ruby 1.8.0 preview5 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2003/07/28

[#20957] [BigDecimal] conflict between Numeric#div and BigDecimal#div — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

29 messages 2003/07/28
[#20960] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/28

At Mon, 28 Jul 2003 18:26:20 +0900, Tadashi Saito wrote:

[#20962] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/28

まつもと ゆきひろです

[#20990] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/29

At Mon, 28 Jul 2003 21:16:08 +0900, Yukihiro Matsumoto wrote:

[#20992] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/29

まつもと ゆきひろです

[ruby-dev:20935] Re: add library

From: nobu.nakada@...
Date: 2003-07-27 04:47:54 UTC
List: ruby-dev #20935
なかだです。

At Sun, 27 Jul 2003 06:05:22 +0900,
Akinori MUSHA wrote:
>  abbrev.rb もですね。しかし、これらはとりあえず Perl から移植
> してみただけで、今のところマルチバイト文字にも対応していないん
> ですが、せめて日本語くらいには対応させたいですね。

$KCODE次第ってことでいいですか。

>  enumerator は詰めよう詰めようと思いつつほったらかしでした。
> 名前の問題と Object にメソッドを追加するというのがどうかという
> 二点があったと思いますが、一応、今の構成が私としてはベストと
> 思っています。

Objectでも問題ないと思いますが、Kernelのほうがいいかも。

>  generator.rb の方は、実装はともかくとして、物としてはあると
> 有用な場面はありそうです。気になっているのは、 end? と next と
> いうメソッド名で、 end? はともかく next が予約語とかぶるのが
> どうかなと。若干 C# 風に next? と current とする方がよい?
> rewind は reset にして。(開始地点も一つずれてわかりやすい?)

next?というのは副作用として一つ進めるってことですか。そうすると
end?は消すんでしょうか。それともend?, next?, currentの三つにす
るということ?

かぶってるといえばyieldも。

> > # nodedumpかiiが欲しいって人は、他にはいないんだろうなぁ。
> 
>  あっていいんじゃないでしょうか。Ruby インタプリタ本体と同期
> している必要もあるので、標準ライブラリとしてメンテナンスする
> メリットは大きいと思います。

ruby-coreに振ったほうがいいかな。あ、Dave Thomasは読んでなかっ
たっけ。

>  nodedump は、ちょくちょく話に出る割には、どこに最新のものが
> あるのか、誰がメンテナンスしているのかわからない不遇の子なので、
> 引き取ってやりたい感じ。

正式版は0.1.7まででしたっけ。

enumeratorの微妙な効率化とabbrevのマルチバイト化。


Index: ext/enumerator/enumerator.c
===================================================================
RCS file: /cvs/ruby/src/rough/ext/enumerator/enumerator.c,v
retrieving revision 1.5
diff -u -2 -p -r1.5 enumerator.c
--- ext/enumerator/enumerator.c	23 Feb 2003 10:00:53 -0000	1.5
+++ ext/enumerator/enumerator.c	27 Jul 2003 03:32:41 -0000
@@ -16,5 +16,5 @@
 
 static VALUE rb_cEnumerator;
-static ID id_each, id_each_with_index, id_each_slice, id_each_cons;
+static ID sym_each, sym_each_with_index, sym_each_slice, sym_each_cons;
 static ID id_new, id_enum_obj, id_enum_method, id_enum_args;
 
@@ -32,5 +32,5 @@ enumerator_enum_with_index(obj)
     VALUE obj;
 {
-    return rb_funcall(rb_cEnumerator, id_new, 2, obj, ID2SYM(id_each_with_index));
+    return rb_funcall(rb_cEnumerator, id_new, 2, obj, sym_each_with_index);
 }
 
@@ -78,5 +78,5 @@ enumerator_enum_slice(obj, n)
     VALUE obj, n;
 {
-    return rb_funcall(rb_cEnumerator, id_new, 3, obj, ID2SYM(id_each_slice), n);
+    return rb_funcall(rb_cEnumerator, id_new, 3, obj, sym_each_slice, n);
 }
 
@@ -122,5 +122,5 @@ enumerator_enum_cons(obj, n)
     VALUE obj, n;
 {
-    return rb_funcall(rb_cEnumerator, id_new, 3, obj, ID2SYM(id_each_cons), n);
+    return rb_funcall(rb_cEnumerator, id_new, 3, obj, sym_each_cons, n);
 }
 
@@ -136,5 +136,5 @@ enumerator_initialize(argc, argv, obj)
 
     if (enum_method == Qnil)
-	enum_method = ID2SYM(id_each);
+	enum_method = sym_each;
 
     rb_ivar_set(obj, id_enum_obj, enum_obj);
@@ -146,10 +146,8 @@ enumerator_initialize(argc, argv, obj)
 
 static VALUE
-enumerator_iter(obj)
-    VALUE obj;
+enumerator_iter(memo)
+    NODE *memo;
 {
-    return rb_apply(rb_ivar_get(obj, id_enum_obj),
-		    rb_to_id(rb_ivar_get(obj, id_enum_method)),
-		    rb_ivar_get(obj, id_enum_args));
+    return rb_apply(memo->u1.value, memo->u2.id, memo->u3.value);
 }
 
@@ -158,5 +156,13 @@ enumerator_each(obj)
     VALUE obj;
 {
-    return rb_iterate(enumerator_iter, obj, rb_yield, 0);
+    VALUE val;
+
+    obj = (VALUE)rb_node_newnode(NODE_MEMO,
+				 rb_ivar_get(obj, id_enum_obj),
+				 rb_to_id(rb_ivar_get(obj, id_enum_method)),
+				 rb_ivar_get(obj, id_enum_args));
+    val = rb_iterate(enumerator_iter, obj, rb_yield, 0);
+    rb_gc_force_recycle(obj);
+    return val;
 }
 
@@ -166,5 +172,5 @@ Init_enumerator()
     VALUE rb_mEnumerable;
 
-    rb_define_method(rb_cObject, "enum_for", obj_enum_for, -2);
+    rb_define_method(rb_mKernel, "enum_for", obj_enum_for, -2);
 
     rb_mEnumerable = rb_path2class("Enumerable");
@@ -182,8 +188,8 @@ Init_enumerator()
     rb_define_method(rb_cEnumerator, "each", enumerator_each, 0);
 
-    id_each		= rb_intern("each");
-    id_each_with_index	= rb_intern("each_with_index");
-    id_each_slice	= rb_intern("each_slice");
-    id_each_cons	= rb_intern("each_cons");
+    sym_each		= ID2SYM(rb_intern("each"));
+    sym_each_with_index	= ID2SYM(rb_intern("each_with_index"));
+    sym_each_slice	= ID2SYM(rb_intern("each_slice"));
+    sym_each_cons	= ID2SYM(rb_intern("each_cons"));
 
     id_new		= rb_intern("new");
Index: lib/abbrev.rb
===================================================================
RCS file: /cvs/ruby/src/rough/lib/abbrev.rb,v
retrieving revision 1.1
diff -u -2 -p -r1.1 abbrev.rb
--- lib/abbrev.rb	1 Jun 2001 18:58:29 -0000	1.1
+++ lib/abbrev.rb	27 Jul 2003 04:36:56 -0000
@@ -39,5 +39,6 @@ module Abbrev
 
     words.each do |word|
-      (word.length - 1).downto(1) do |len|
+      abbrev = word
+      while (len = abbrev.rindex(/[\w\W]\z/)) > 0
 	abbrev = word[0,len]
 


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

In This Thread