[#36644] Gtk.main — TOYOFUKU Chikanobu <toyofuku@...>
豊福です。
18 messages
2002/12/03
[#36645] Re: Gtk.main
— nobu.nakada@...
2002/12/03
なかだです。
[#36646] Re: Gtk.main
— TOYOFUKU Chikanobu <toyofuku@...>
2002/12/03
豊福です。
[#36649] Re: Gtk.main
— nobu.nakada@...
2002/12/03
なかだです。
[#36676] WIN32OLE と IAgentCtlRequest — Shusaku <tsyk@...>
Shusakuです。
7 messages
2002/12/05
[#36683] SyntaxError caused by redefinition of Class#== within irb. — Shusaku <tsyk@...>
Shusakuです。
5 messages
2002/12/05
[#36686] 1.1 < 61.1 - 60.0 — Shin-ichiro HARA <sinara@...>
原です。
19 messages
2002/12/06
[#36693] Re: 1.1 < 61.1 - 60.0
— "Shigeo Kobayashi" <shigeo@...>
2002/12/06
小林です。
[#36717] ruby 1.6.8 preview3 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
12 messages
2002/12/09
[#36718] Re: ruby 1.6.8 preview3
— m_seki@...
2002/12/09
[#36728] blade.stop — Shin-ichiro HARA <sinara@...>
原です。
9 messages
2002/12/10
[#36756] Re: blade.stop
— Shin-ichiro HARA <sinara@...>
2002/12/13
原です。
[#36734] Rubyソースコード完全解説 — Minero Aoki <aamine@...>
あおきです。ちょっと宣伝です。
10 messages
2002/12/11
[#36740] WIN32OLEでの定数読み込み — Takashi & Kayoko Sano <tksano@...3.kcn.ne.jp>
こんにちは。佐野と申します。
9 messages
2002/12/12
[#36742] DBM — OHARA Shigeki <os@...>
大原です。
6 messages
2002/12/12
[#36757] ruby 1.6.7+ruby-postgres-0.7.0でSegmentation fault — iga50@...
五十嵐と申します。
5 messages
2002/12/13
[#36768] Ruby/FreeType メンテナ募集 — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
4 messages
2002/12/15
[#36770] www.ruby-lang.orgリニューアル準備のお知らせ — TADA Tadashi <sho@...>
ruby-lang.orgのwebmasterチームでは、タイムリーな情報提供と使いやすい
11 messages
2002/12/16
[#36780] 2GB超のファイルにアクセスするとErrno::EOVERFLOWが発生してしまう — oka@...
4 messages
2002/12/16
[#36793] Thread と Net::HTTP — Makoto Satoh <makotosato2@...>
佐藤と申します。
9 messages
2002/12/17
[#36796] Ruby SNMPについて
— Tadashi Oh-Ya <toy@...>
2002/12/17
おおやと申します。
[#36797] Re: Ruby SNMPについて
— "Akinori MUSHA" <knu@...>
2002/12/17
At Tue, 17 Dec 2002 19:59:00 +0900,
[#36821] Cygwinで拡張モジュールが生成されない — 堀川 久 <vzw00011@...>
こんにちは。
10 messages
2002/12/23
[#36826] ANN: ruby 1.6.8 — matz@... (Yukihiro Matsumoto)
Hello everyone,
9 messages
2002/12/24
[#36830] [ATTN] Prepare name freeze of RAA — "NAKAMURA, Hiroshi" <nakahiro@...>
みなさんこんにちは。
11 messages
2002/12/25
[#36831] Re: [ATTN] Prepare name freeze of RAA
— FUJIMOTO Hisakuni <hisa@...>
2002/12/25
こんにちは、藤本です。
[#36832] Re: [ATTN] Prepare name freeze of RAA
— "NAKAMURA, Hiroshi" <nakahiro@...>
2002/12/25
なひです。
[#36848] httpsnapshot.rb — Shin-ichiro HARA <sinara@...>
原です。
4 messages
2002/12/27
[#36856] raccのインストールについて — 齋藤雅浩 <m-saito@...4.so-net.ne.jp>
齋藤です。
6 messages
2002/12/27
[#36862] libsafeを入れるとrubyスクリプトが実行できない — Hideki Yamane <henrich@...>
8 messages
2002/12/28
[#36864] Re: libsafeを入れるとrubyスクリプトが実行できない
— Tanaka Akira <akr@...17n.org>
2002/12/28
In article <200212280626.gBS6QDL25734@mms-r00.iijmio.jp>,
[#36869] numbering of ruby-1.8.x* — TAKAHASHI Masayoshi <maki@...>
高橋征義です。
4 messages
2002/12/29
[ruby-list:36716] Re: 1.1 < 61.1 - 60.0
From:
Kazuhiro Yoshida <moriq.kazuhiro@...>
Date:
2002-12-09 00:40:05 UTC
List:
ruby-list #36716
もりきゅうです。
Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp> wrote:
> 固定小数点数って具体的にはどうするのですか?そういうクラスを作る
> のですよね。標準でほしいなあ。
こんなのかなと想像してみました。
とりあえず足し算と引き算だけ…。
Fixnum は小数点が右端にある固定小数点数クラスと考えられる。
そこで、数値を @n, 小数点の位置を @d とするクラスを考えて
みました。でも、これだと小数点は動いてるな。全然違うのか。
未対応:
* *, /, %, 精度
* coerce
* 無限, 非数, 0
だめだめ。やっぱり BigFloat を使うのが吉か。
class Fix
attr_reader :n, :d
def initialize(n=0, d=0)
@n = n
@d = d
norm
end
def Fix.new_str(str)
if str.index('.')
Fix.new str.delete('.').to_i, -(str.size - str.index('.') - 1)
else
Fix.new str.to_i, 0
end
end
def to_s
str = @n.to_s
if @d < 0
if str.size > -@d
str[str.size-(-@d),0] = '.'
else
str[0,0] = '0.' << '0'*(-@d-1)
end
else
str << '0'*@d
end
str
end
def value=(v)
@n = v
norm
end
def value
@n * 10 ** @d
end
alias to_f value
def to_i
@d < 0 ? 0 : @n
end
def +(other)
case other
when Fix
x = other
when Fixnum
x = Fix.new other, 0
else
raise TypeError
end
case @d <=> x.d
when +1
Fix.new @n * 10 ** (@d - x.d) + x.n, x.d
when -1
Fix.new @n + x.n * 10 ** (x.d - @d), @d
else
Fix.new @n + x.n, @d
end
end
def +@
Fix.new(+@n, @d)
end
def -@
Fix.new(-@n, @d)
end
def -(other)
self + -other
end
def <=>(other)
case @d <=> other.d
when +1
@n * 10 ** (@d - other.d) <=> other.n
when -1
@n <=> other.n * 10 ** (other.d - @d)
else
@n <=> other.n
end
end
def check
raise TypeError unless @n.is_a? Fixnum
raise TypeError unless @d.is_a? Fixnum
end
def norm
check
while @n%10 == 0
@n /= 10
@d += 1
end
end
end
a = Fix.new 1,0
p a
puts a
b = Fix.new 2,3
p b
puts b
c = Fix.new 2001
p c
puts c
p a+b
p b+a
p a<=>b
p b<=>a
p a<=>c
p c<=>a
p b<=>c
p c<=>b
p c<=>a+b
p a+b<=>c
p Fix.new 611,-1
p Fix.new 600,-1
x = Fix.new_str "61.1"
p x
p +x
p -x
y = Fix.new_str "60.0"
p y
z=x-y
p z
puts z
w=z-1
p w
puts w
q = Fix.new_str "-1"
p q
puts q
----
YOSHIDA Kazuhiro moriq@moriq.com http://www.moriq.com/