[#27711] Re: [ruby-list:41557] Re: Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

16 messages 2005/11/15
[#27717] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/11/16

山本です。

[#27718] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "U.Nakamura" <usa@...> 2005/11/16

こんにちは、なかむら(う)です。

[#27719] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/11/16

山本です。

[#27720] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "U.Nakamura" <usa@...> 2005/11/16

こんにちは、なかむら(う)です。

[#27721] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/11/16

山本です。

[#27722] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — "U.Nakamura" <usa@...> 2005/11/16

こんにちは、なかむら(う)です。

[#27723] Re: [ruby-list:41557] Re:Windowsにおける共有フォルダーでのDir.globは一覧を返さない? — 小西 弘将 <konishih@...6.so-net.ne.jp> 2005/11/16

 小西 弘将です。

[#27735] FNM_CASEFOLD on case-sensitive system — nobuyoshi nakada <nobuyoshi.nakada@...>

なかだです。

15 messages 2005/11/18
[#27737] Re: FNM_CASEFOLD on case-sensitive system — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/11/18

山本です。

[#27758] File.dirname("///foo/bar/baz/qux") on cygwin — Tanaka Akira <akr@...17n.org>

次に cygwin における

26 messages 2005/11/19
[#27768] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27769] Re: File.dirname("///foo/bar/baz/qux") on cygwin — Tanaka Akira <akr@...17n.org> 2005/11/21

In article <20051121093604.3A67.USA@garbagecollect.jp>,

[#27770] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27771] Re: File.dirname("///foo/bar/baz/qux") on cygwin — WATANABE Hirofumi <eban@...> 2005/11/21

わたなべです。

[#27772] Re: File.dirname("///foo/bar/baz/qux") on cygwin — Tanaka Akira <akr@...17n.org> 2005/11/21

In article <1191-Mon21Nov2005112905+0900-eban@os.rim.or.jp>,

[#27773] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27774] Re: File.dirname("///foo/bar/baz/qux") on cygwin — Tanaka Akira <akr@...17n.org> 2005/11/21

In article <20051121120453.3A70.USA@garbagecollect.jp>,

[#27776] Re: File.dirname("///foo/bar/baz/qux") on cygwin — Tanaka Akira <akr@...17n.org> 2005/11/21

In article <87ek5a665s.fsf@m17n.org>,

[#27777] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27778] Re: File.dirname("///foo/bar/baz/qux") on cygwin — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/11/21

なかだです。

[#27779] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27781] Re: File.dirname("///foo/bar/baz/qux") on cygwin — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/11/21

なかだです。

[#27782] Re: File.dirname("///foo/bar/baz/qux") on cygwin — "U.Nakamura" <usa@...> 2005/11/21

こんにちは、なかむら(う)です。

[#27783] Re: File.dirname("///foo/bar/baz/qux") on cygwin — nobuyoshi nakada <nobuyoshi.nakada@...> 2005/11/21

なかだです。

[#27766] 1.8.4 preview2? — "URABE Shyouhei aka.mput" <root@...>

卜部です。間が空きましたが

17 messages 2005/11/20
[#27798] Re: 1.8.4 preview2? — Yukihiro Matsumoto <matz@...> 2005/11/21

まつもと ゆきひろです

[#27818] Re: [ ruby-Bugs-2872 ] TCPServer should not use SO_REUSEADDR in Cygwin port — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>

山本です。

15 messages 2005/11/25
[#27819] Re: [ ruby-Bugs-2872 ] TCPServer should not use SO_REUSEADDR in Cygwin port — Yukihiro Matsumoto <matz@...> 2005/11/25

まつもと ゆきひろです

[#27821] Re: [ ruby-Bugs-2872 ] TCPServer should not use SO_REUSEADDR in Cygwin port — "U.Nakamura" <usa@...> 2005/11/25

こんにちは、なかむら(う)です。

[#27823] Re: [ ruby-Bugs-2872 ] TCPServer should not use SO_REUSEADDR in Cygwin port — "U.Nakamura" <usa@...> 2005/11/25

こんにちは、なかむら(う)です。

[#27839] ruby 1.8 dumps core — Tanaka Akira <akr@...17n.org>

最近、boron でやっている chkbuild で ruby-1.8 が test-all 中

32 messages 2005/11/28
[#27862] Re: ruby 1.8 dumps core — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/11/28

山本です。

[#27911] Re: ruby 1.8 dumps core — Tanaka Akira <akr@...17n.org> 2005/12/01

In article <20051130210645.7228E2B0.ocean@m2.ccsnet.ne.jp>,

[#28046] Re: ruby 1.8 dumps core — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/19

山本です。

[#28048] Re: ruby 1.8 dumps core — Tanaka Akira <akr@...17n.org> 2005/12/19

In article <20051219120911.F876DDD0.ocean@m2.ccsnet.ne.jp>,

[#28050] Re: ruby 1.8 dumps core — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/19

山本です。

[#28057] Re: ruby 1.8 dumps core — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/19

山本です。

[#27871] Numeric と Complex — Yukihiro Matsumoto <matz@...>

まつもと ゆきひろです

37 messages 2005/11/29
[#27872] Re: Numeric と Complex — keiju@... (石塚圭樹) 2005/11/29

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

[#27873] Re: Numeric と Complex — Yukihiro Matsumoto <matz@...> 2005/11/29

まつもと ゆきひろです

[#27875] Re: Numeric と Complex — keiju@... (石塚圭樹) 2005/11/29

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

[ruby-dev:27677] Re: Numeric#div

From: Koji Arai <jca02266@...>
Date: 2005-11-10 18:34:01 UTC
List: ruby-dev #27677
新井です。

In message "[ruby-dev:27676] Re: Numeric#div"
  on 11 Nov 2005 02:01:29 +0900,
  Yukihiro Matsumoto <matz@ruby-lang.org> wrote:
> まつもと ゆきひろです

> 今はa.div(b)は
> 
>   Integer(a / b)
> 
> を返しています。整数除算の結果と浮動小数点数除算を整数化した
> ときで丸め方が違うということのようです。揃えるべきだとは思い
> ますが、どっちが望ましいのか私には分かりません。御意見希望。

商を q、余りを r として a/b = q..r のとき、数学的には

q = (a/b).floor

が普通(?詳しくはないですが)らしいので、Fixnum#div にあわ
せて floor で良いように思います。

floor なら

    q = a.div(b)
    r = a.modulo(b)
    [q,r] = a.divmod(b)

という対応になるので(下記テスト参照)、divmod のメソッドが 
div と modulo の結果を返すという点で名前的にもきれいです。
(divmod は div と異なり商に Float を返す場合がありますがまぁ
それはその方が実数演算に都合が良いのでしょう・・・か?)

    def test_div(a, div, b, mod)
      q = a.send(div, b)
      r = a.send(mod, b)

      printf("%5s == %3s * %3s + %4s ... %s : %s\n",
	     a, b, q, r,
	     a == b*q + r,
             [q,r] == a.divmod(b))
    end

    nums = [[13,4], [13,-4], [-13,4],[-13,-13],
	    [11.5,4], [11.5,-4], [-11.5,4], [-11.5,-4]]
    nums.each {|a, b|
      test_div(a, :div, b, :modulo)
    }

このテストを実行すると現状は

ruby 1.9.0 (2005-08-29) [i686-linux]
   13 ==   4 *   3 +    1 ... true : true
   13 ==  -4 *  -4 +   -3 ... true : true
  -13 ==   4 *  -4 +    3 ... true : true
  -13 == -13 *   1 +    0 ... true : true
 11.5 ==   4 *   2 +  3.5 ... true : true
 11.5 ==  -4 *  -2 + -0.5 ... false : false
-11.5 ==   4 *  -2 +  0.5 ... false : false
-11.5 ==  -4 *   2 + -3.5 ... true : true

# ruby のバージョンが古くてすみせん

となりますが、div の定義が以下なら

    class Numeric
      def div(other)
	self./(other).floor
      end
    end

ruby 1.9.0 (2005-08-29) [i686-linux]
-:2: warning: method redefined; discarding old div
   13 ==   4 *   3 +    1 ... true : true
   13 ==  -4 *  -4 +   -3 ... true : true
  -13 ==   4 *  -4 +    3 ... true : true
  -13 == -13 *   1 +    0 ... true : true
 11.5 ==   4 *   2 +  3.5 ... true : true
 11.5 ==  -4 *  -3 + -0.5 ... true : true
-11.5 ==   4 *  -3 +  0.5 ... true : true
-11.5 ==  -4 *   2 + -3.5 ... true : true

となります。

逆に、

r = a.remainder(b)

に対応する商を返すメソッドが存在しないので、

div を今の Float#div にあわせて

q = a.quo(b).to_i

として定義すると remainder 的にきれいと言えばきれいなのです
が、Fixnum#/ と Fixnum#div で結果が変わる方が現実的に困る場
合がありそうなのでやはり floor の方で良いのではないでしょう
か?

互換性の点ですが、div の使用頻度は低いと思ってますので急いで
1.8 に入れなくても、1.9 で様子見で良いかと思います。
今まで気がつかれてないわけですし。
# もちろん、リファレンスの方では将来変更があることは宣伝して
# おくようにします。

後は数学に詳しい方の太鼓判があれば良いかと。

--
新井康司 (Koji Arai)

In This Thread