[#26664] refactoring tcltklib.c (deleted ip check) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
山本です。
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
[#26711] --with-static-linked-extするとrequireできないライブラリがある — IWATSUKI Hiroyuki <don@...>
岩月と申します。
なかだです。
[#26721] TkVariable.new_hash 経由だと trace が発生しない — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26723] Fixnum演算メソッド中のcoerceの削減 — Tadashi Saito <shiba@...2.accsnet.ne.jp>
斎藤と申します。
[#26743] zsuper in a method with optional arg — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
まつもと ゆきひろです
-----BEGIN PGP SIGNED MESSAGE-----
[#26745] TkCheckbutton#variable as getter? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
永井@知能.九工大です.
山本です。
永井@知能.九工大です.
[#26753] some questions about tcltklib.c — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
永井@知能.九工大です.
山本です。
[#26764] multi-thread and logger — Nobuhiro IMAI <nov@...>
いまいです。
[#26791] Failure: test_block_passing(TestIterator) — Kazuhiro NISHIYAMA <zn@...>
西山和広です。
まつもと ゆきひろです
[#26800] reducing PUSH_TAG in rescue, and useless exceptions — nobu@...
なかだです。
[#26808] test/nkf/test_kconv.rb — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
[#26817] test/socket/test_tcp.rb freeze on windows — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
山本です。
こんにちは、なかむら(う)です。
山本です。
山本です。
こんにちは、なかむら(う)です。
山本です。
こんにちは、なかむら(う)です。
山本です。返信が遅れてすみません。
[#26829] cannot check EOF of pipe on windows — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
山本です。
こんにちは、なかむら(う)です。
山本です。
なかだです。
山本です。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
なかだです。
こんにちは、なかむら(う)です。
山本です。
[#26840] [BUG] oniguruma + utf-8 — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
[#26851] ripper for 1.8 — Tanaka Akira <akr@...17n.org>
ruby-1.8 で動かす gonzui で、ruby code の解析をしたいという要望があっ
[#26872] irb -I/ruby -Iと$LOAD_PATH — akira yamada / やまだあきら <akira@...>
Debianユーザからruby -Iとirb -Iで
なかだです。
nobuyoshi nakada wrote:
けいじゅ@いしつかです.
けいじゅ@いしつかです.
なかだです。
けいじゅ@いしつかです.
まつもと ゆきひろです
けいじゅ@いしつかです.
[#26883] top level include on load(filename, true) — Shugo Maeda <shugo@...>
前田です。
[#26897] fail on make install — KIMURA Koichi <kimura.koichi@...>
木村です。
こんにちは、なかむら(う)です。
木村です。
木村です。
木村です。
こんにちは、なかむら(う)です。
木村です。
こんにちは、なかむら(う)です。
なかだです。
山本です。
なかだです。
なかだです。
山本です。
こんにちは、なかむら(う)です。
なかだです。
まつもと ゆきひろです
山本です。
なかだです。
[#26900] multiplying empty string — nobuyoshi nakada <nobuyoshi.nakada@...>
まつもと ゆきひろです
In article <1125327516.070646.12845.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1125356798.802509.8788.nullmailer@x31.priv.netlab.jp>,
まつもと ゆきひろです
In article <1125369966.174424.13781.nullmailer@x31.priv.netlab.jp>,
[ruby-dev:26910] Re: multiplying empty string
山本です。
>|以前、[ruby-dev:19980] で話が出た時には、"" * -1 などがエラーでなくな
>|るのを気にする人がいたようです。
思いつきですが、s * -2 は s.reverse * 2 とするのはどうでしょうか。
# 数学的にも、負の掛け算は数直線上で反転を意味するのでしっくり来ます。
Index: array.c
===================================================================
RCS file: /src/ruby/array.c,v
retrieving revision 1.175
diff -u -w -b -p -r1.175 array.c
--- array.c 10 Aug 2005 01:39:24 -0000 1.175
+++ array.c 29 Aug 2005 23:59:38 -0000
@@ -2399,6 +2399,7 @@ rb_ary_times(ary, times)
{
VALUE ary2, tmp;
long i, len;
+ int negative;
tmp = rb_check_string_type(times);
if (!NIL_P(tmp)) {
@@ -2406,10 +2407,9 @@ rb_ary_times(ary, times)
}
len = NUM2LONG(times);
- if (len == 0) return ary_new(rb_obj_class(ary), 0);
- if (len < 0) {
- rb_raise(rb_eArgError, "negative argument");
- }
+ if (negative = (len < 0)) len = -len;
+
+ if (len == 0 || RARRAY(ary)->len == 0) return ary_new(rb_obj_class(ary), 0);
if (LONG_MAX/len < RARRAY(ary)->len) {
rb_raise(rb_eArgError, "argument too big");
}
@@ -2421,6 +2421,7 @@ rb_ary_times(ary, times)
for (i=0; i<len; i+=RARRAY(ary)->len) {
MEMCPY(RARRAY(ary2)->ptr+i, RARRAY(ary)->ptr, VALUE, RARRAY(ary)->len);
}
+ if (negative) rb_ary_reverse_bang(ary2);
OBJ_INFECT(ary2, ary);
return ary2;
Index: string.c
===================================================================
RCS file: /src/ruby/string.c,v
retrieving revision 1.231
diff -u -w -b -p -r1.231 string.c
--- string.c 23 Jul 2005 01:02:10 -0000 1.231
+++ string.c 29 Aug 2005 23:59:47 -0000
@@ -400,6 +400,8 @@ rb_str_plus(str1, str2)
* "Ho! " * 3 #=> "Ho! Ho! Ho! "
*/
+static VALUE rb_str_reverse_bang(VALUE);
+
VALUE
rb_str_times(str, times)
VALUE str;
@@ -407,12 +409,12 @@ rb_str_times(str, times)
{
VALUE str2;
long i, len;
+ int negative;
len = NUM2LONG(times);
- if (len == 0) return rb_str_new5(str,0,0);
- if (len < 0) {
- rb_raise(rb_eArgError, "negative argument");
- }
+ if (negative = (len < 0)) len = -len;
+
+ if (len == 0 || RSTRING(str)->len == 0) return rb_str_new5(str,0,0);
if (LONG_MAX/len < RSTRING(str)->len) {
rb_raise(rb_eArgError, "argument too big");
}
@@ -424,6 +426,8 @@ rb_str_times(str, times)
}
RSTRING(str2)->ptr[RSTRING(str2)->len] = '\0';
+ if (negative) rb_str_reverse_bang(str2);
+
OBJ_INFECT(str2, str);
return str2;