[#39325] File.fnmatch の改良について — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
はじめまして、山本です。
18 messages
2004/03/05
[#39327] Re: File.fnmatch の改良について
— Minero Aoki <aamine@...>
2004/03/05
青木です。
[#39326] Re: File.fnmatch の改良について
— "U.Nakamura" <usa@...>
2004/03/05
こんにちは、なかむら(う)です。
[#39329] Re: File.fnmatch の改良について
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/05
山本です。
[#39331] Re: File.fnmatch の改良について
— "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
2004/03/05
山本です。
[#39335] Re: File.fnmatch の改良について
— "U.Nakamura" <usa@...>
2004/03/05
こんにちは、なかむら(う)です。
[#39347] Windows上でRuby+MySQL — Dan Yamamoto <dango@...>
団と申します。
9 messages
2004/03/09
[#39348] Re: Windows上でRuby+MySQL
— とみたまさひろ <tommy@...>
2004/03/09
とみたです。
[#39349] Re: Windows上でRuby+MySQL
— Yamamoto Dan <dango@...>
2004/03/09
団です。
[#39352] 1.8 の irb/completion.rb の挙動の違い — Wataru Gotoh <gotow@...>
後藤@北の方と申します。
1 message
2004/03/09
[#39367] [ANN] Nora 0.0.20040310 released — MoonWolf <moonwolf@...>
MoonWolfです。
1 message
2004/03/10
[#39383] Re: win32ole でexcel が終了しない — g-1@...5.so-net.ne.jp
中です。
7 messages
2004/03/18
[#39401] rubyの関数定義について — "yokoyama" <yokoyama@...0038.net>
はじめましてyokoyamaと申します。
11 messages
2004/03/21
[#39403] Re: rubyの関数定義について
— rubikitch <rubikitch@...>
2004/03/21
From: "yokoyama" <yokoyama@mf.0038.net>
[#39423] 例えば "26" を "&" に変換したい(sub, hex, pack) — 若宮 修司 <gba02077@...>
皆さん、初めまして。
5 messages
2004/03/23
[#39427] require 'cal'をexe化すると終了時にアプリケーションエラー — katata@...
どうもTa3と申します。
4 messages
2004/03/23
[#39429] trial version of Ruby/Tk — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
18 messages
2004/03/23
[#39454] Re: trial version of Ruby/Tk
— "Shirai,Kaoru" <shirai@...>
2004/03/31
白井です。
[#39460] Re: trial version of Ruby/Tk
— Hidetoshi NAGAI <nagai@...>
2004/04/01
永井@知能.九工大です.
[#39465] Re: trial version of Ruby/Tk
— "Shirai,Kaoru" <shirai@...>
2004/04/01
白井です。
[#39466] Re: trial version of Ruby/Tk
— Hidetoshi NAGAI <nagai@...>
2004/04/01
永井@知能.九工大です.
[#39467] Re: trial version of Ruby/Tk
— Hidetoshi NAGAI <nagai@...>
2004/04/01
永井@知能.九工大です.
[#39469] Re: trial version of Ruby/Tk
— "Shirai,Kaoru" <shirai@...>
2004/04/01
白井です。
[#39474] Re: trial version of Ruby/Tk
— Hidetoshi NAGAI <nagai@...>
2004/04/02
永井@知能.九工大です.
[#39476] Re: trial version of Ruby/Tk
— "Shirai,Kaoru" <shirai@...>
2004/04/02
白井です。
[#39482] Re: trial version of Ruby/Tk
— Hidetoshi NAGAI <nagai@...>
2004/04/02
永井@知能.九工大です.
[#39431] 「RPGツクール」の最新版にRubyが使われているそうですね — cyross@...
お久しぶりです。
6 messages
2004/03/23
[#39440] Amritaで複数行(<tr>)を繰り返したい — ITO Asuka <asuka@...>
伊藤と申します。
5 messages
2004/03/25
[#39444] gethostbynameでホスト名が引けない — 堀川 久 <vzw00011@...>
こんにちは。
11 messages
2004/03/28
[#39446] Re: gethostbynameでホスト名が引けない
— matz@... (Yukihiro Matsumoto)
2004/03/28
まつもと ゆきひろです
[#39450] Re: gethostbynameでホスト名が引けない
— 堀川 久 <vzw00011@...>
2004/03/30
こんにちは。
[#39451] Re: gethostbynameでホスト名が引けない
— matz@... (Yukihiro Matsumoto)
2004/03/30
まつもと ゆきひろです
[#39448] [ANN] Rubyお花見@井の頭公園 — TAKAHASHI Masayoshi <maki@...>
高橋征義です。お花見のご案内です。
1 message
2004/03/29
[#39453] Re: int/int in Ruby2? — Masaaki Sakano <mas@...>
坂野 正明です。
36 messages
2004/03/31
[#39455] Re: int/int in Ruby2?
— NISHIMATSU Takeshi <t-nissie@...>
2004/03/31
西松と申します.
[#39470] Re: int/int in Ruby2?
— Masaaki Sakano <mas@...>
2004/04/01
坂野 正明です。
[#39473] Re: int/int in Ruby2?
— matz@... (Yukihiro Matsumoto)
2004/04/01
まつもと ゆきひろです
[#39484] Re: int/int in Ruby2?
— Masaaki Sakano <mas@...>
2004/04/03
坂野 正明です。
[#39514] Re: int/int in Ruby2?
— OOTANI TAKASHI <otn@...5.so-net.ne.jp>
2004/04/08
大谷と申します。
[#39528] Re: int/int in Ruby2?
— "T Akutsu" <locrian@...>
2004/04/09
あくつです。なんかわくわくしてきだぞ。(^^;)
[#39538] Re: int/int in Ruby2?
— "T Akutsu" <locrian@...>
2004/04/12
あくつです。
[ruby-list:39453] Re: int/int in Ruby2?
From:
Masaaki Sakano <mas@...>
Date:
2004-03-31 11:22:29 UTC
List:
ruby-list #39453
坂野 正明です。
影響が広い範囲に亙る問題だと思いますので、ruby-math から、
ruby-list の方に振ります。まつもとさんから、議論の提起は歓迎、
というありがたいお言葉を頂きましたので。
Ruby2 の仕様が固まりつつある現在、Ruby2 において、
int/int
つまり、整数における「/」の扱いの仕様は何がいいか、
という提案を、[ruby-math:01013] にて、行ないました。
それに対して、まつもとさんがすぐ [ruby-math:01014] で
返事を下さいました (どうもありがとうございます _o_)。
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-math/1013
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-math/1014
思うところのある方、是非、御意見を出して下さいな (^_^)
Ruby2 では、"必ずしも"互換性にこだわらない、という話ですから、
今がいい機会かと思います。
参考のため、現状の仕様他を以下に簡単にまとめておきます。
# 万一何か誤解がありましたら、御指摘下さいませ。
---------- * ---------- * ----------
○Rubyでは、「/」記号は、第一義として「÷」を意味しています。
Integer(整数)、Float(浮動小数点)に対し、
[Integer/Integer] 10/5 => 2 [Integer]
[Float/Float] 10.0/5.0 => 2.0 [Float; 正確に2.0になるとは限らない]
両者が入り交じる場合、結果はFloat に自動変換されます。
[Integer/Float] 10/5.0 => 2.0 [Float; 正確に2.0になるとは限らない]
[Float/Integer] 10.0/5 => 2.0 [Float; 正確に2.0になるとは限らない]
# (Float演算が近似計算になることを認める限り)ここまでの結果は、
# ほぼ万人にとって自然でしょう。
違いが出てくるのは、[Integer/Integer] で、結果が割り切れない時です。
現状は、本来の商を超えない最大の整数(Integer)を返します。
[Integer/Integer] 4/3 => 1 [Integer]
[Integer/Integer] (-4)/3 => -2 [Integer]
# このような挙動を「整除」と言うそうです。
この結果は、(小数、分数がある時の)紙の上の計算とはずれます。
現在の Ruby で、演算結果を、紙の上の計算と一致させる方法は、
いくつかあります。
1. Floatに変換して計算する
(4.to_f)/3 => 1.33333333333333
((-4).to_f)/3 => -1.33333333333333
# Float ですから、結果は、誤差を含み得ます。
2. 有理数クラス(Rational)を導入し、「/」の挙動を変更する。
具体的には、require "rational"; require "mathn"; を行なう。
4/3 => 4/3 [有理数: Rational(4, 3)]
(-4)/3 => -4/3 [有理数: Rational(-4, 3)]
# 有理数ですから、結果には、誤差がありません。
3. 「/」の代わりに、「.quo」を用いる (Ruby 1.8 から)
4.quo(3) => 1.33333333333333[Float] または 4/3[Rational]
(-4).quo(3) => -1.33333333333333[Float] または -4/3[Rational]
# 現在の Default は前者。require "rational" を行なっていたら、
# 後者。
# (参考)「整除」を表す method として、「.div」(Ruby 1.8)もあります。
# http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-math/833
以上が、現状です。
紙の上の計算との一致という意味では、上の 2. が紛れのない解決法か
と思いまして、私としては、標準として推しているところです。
# 計算機言語では、CommonLisp や Smalltalk がそうだった?
一方、整数という型が厳然としてある計算機言語では、「整除」はしばしば
用いられるようです。たとえば、C, Fortran77 では、いずれも、
[整数/整数] 4/3 => 1 [整数]
[整数/整数] (-4)/3 => -1 [整数]
となって、正の数に対する演算は現Rubyと一致します (負の場合は
一致しませんが)。
# 参考までに、Perlは原則Float計算、Pythonは現Rubyと同じようです。
現在の挙動が嬉しい(自然?)かどうか、そして互換性を犠牲にして変更する
価値があるかどうか、が議論のポイントだと認識しています。
過去、盛り上がったスレッドとして、
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-math/552
に始まるものを参考までに挙げておきます(しばしば高度に数学的になって
私は全部はフォローできないものでしたが ^^;)。
よろしくお願い致します。
--
坂野 正明