[#20036] Re: Roundoff problem with Float and Marshal — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

16 messages 2003/04/18
[#20045] Re: Roundoff problem with Float and Marshal — nobu.nakada@... 2003/04/20

なかだです。

[#20063] Re: Roundoff problem with Float and Marshal — matz@... (Yukihiro Matsumoto) 2003/04/22

まつもと ゆきひろです

[#20097] jcode.rb — akira yamada / やまだあきら <akira@...>

25 messages 2003/04/26
[#20098] Re: jcode.rb — matz@... (Yukihiro Matsumoto) 2003/04/27

まつもと ゆきひろです

[#20105] Re: jcode.rb — WATANABE Hirofumi <eban@...> 2003/04/28

わたなべです。

[#20108] Re: jcode.rb — matz@... (Yukihiro Matsumoto) 2003/04/28

まつもと ゆきひろです

[ruby-dev:19983] Re: ""*n

From: matz@... (Yukihiro Matsumoto)
Date: 2003-04-09 18:08:07 UTC
List: ruby-dev #19983
まつもと ゆきひろです

In message "[ruby-dev:19982] Re: ""*n"
    on 03/04/10, Tadayoshi Funaba <tadf@rc5.so-net.ne.jp> writes:

|> |rb_str_times ですけど、こうしても構わないですか?
|> 
|> 分かる気もするんだけど、推測するよりもはっきり聞きたいと思い
|> ます。なぜですか?
|> 
|> 「負の繰り返し」はエラーだと思うんだけど。
|
|僕、またボケて、勘違いしてるのかな。長さ零の文字列に対して繰り返すのは
|無駄かと思ったんですが。負の繰り返しも含めて、繰り返しには触れていない
|つもりです。

えーと、聞きたかったのは理由なんですが、要するに「無駄を無く
すため」ですかね。でも、省略される

     if (len < 0) {
 	rb_raise(rb_eArgError, "negative argument");
     }
     if (LONG_MAX/len <  RSTRING(str)->len) {
 	rb_raise(rb_eArgError, "argument too big");
     }

のコストはほとんどゼロだと思うんですが。

それと上記の変更を加えると

  "" * -5

がエラーにならなくなっちゃうんですよね。

In This Thread