[#14497] Re: Gtk::Menu の使い方に関する質問 — Hiroshi Igarashi <igarashi@...>
いがらしです。
[#14503] Re: rubyfaq-990702.tar.gz — Akira Endo <akendo@...3.rim.or.jp>
遠藤です.
まつもと ゆきひろです
[#15177] Gtk::Menu の使い方に関する質問 — Miyaki Masahiro <miyaki@...>
はじめまして、宮木と申します。ruby-gtkのメニューオブジェクト
[#15179] ruby にメッセージの国際化の仕組みはありますか? — "HIRATA Naoto" <hirata-naoto@...>
はじめまして,平田@武蔵工大と申します.
[#15188] LAPACK へのインターフェース — Takashi Nishimoto <g96p0935@...>
Ruby を数値計算言語として使ってみたいのですが、
[#15245] Solaris 2.6 — Koyama Hideo<fa8h-kym@...>
御無沙汰しております。小山です。
[#15247] Meeting2000 0.93b3 出します — 松尾尚典 <matsuo_hisanori@...21.odn.ne.jp>
松尾です。
[#15264] 年月を範囲でうまく扱うには? — Yukihiko Eda <yuki-e@...>
江田です。
In message "[ruby-list:15264] 年月を範囲でうまく扱うには?"
> 大した手間でもなさそうだし、年月のクラスを作っちゃうのは
In message "[ruby-list:15284] Re: 年月を範囲でうまく扱うには?"
ふなばです。
ごとけんです
青山です。
ごとけんです
ふなばです。
[#15274] RE: Ruby-1.3.4 for cygwin (was Ruby/Gtk for cyg win) — 助田 雅紀 <masaki.suketa@...>
助田です.
[#15321] Re: rubyfaq-990702.tar.gz — Inaba Hiroto <inaba@...>
稲葉です.
[#15362] chomp で nil が返るのは? — ARIMA Yasuhiro <fit0298@...>
有馬です。
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto)
まつもと ゆきひろです
[#15378] RubyFAQ-990713 — Akira Endo <akendo@...3.rim.or.jp>
遠藤です.
In message "[ruby-list:15378] RubyFAQ-990713"
高橋征義です。
[#15384] getpeername — OHARA Shigeki <os@...>
大原です。
[#15405] nkf の使い方 — goto@...
後藤@横河工事です。たびたびお世話になります。
まつもと ゆきひろです
[#15406] dRuby/rudy/DRb — Masatoshi SEKI <m_seki@...>
[#15419] Serial I/O by Ruby — ARIMA Yasuhiro <fit0298@...>
有馬です。
[#15467] debugger exception handle (Re: Modified debug.rb) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
なひです.
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
In message "[ruby-list:15551] Re: debugger exception handle (Re: Modified debug.rb)"
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
前田です。
[#15472] raa — Masaki Fukushima <fukusima@...>
福嶋です。
まつもと ゆきひろです
[#15474] RAA (Re: [Patch] debug.rb) — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#15482] maillib 0.4.0 — Minero Aoki <aamine@...>
あおきです。
[#15497] how to use ruby-mode.el — Yoshiki Wada <wada@...>
和田と言います。
[#15518] 省略記法 — ARIMA Yasuhiro <fit0298@...>
Pascal では、構造体のメンバを表記する際に省略記法があります。
まつもと ゆきひろです
有馬@FITECです。
まつもと ゆきひろです
[#15530] 半 to 全 — Sinichiro Dezawa <dezawa@...>
出沢です
出沢です
このメイリングリストで‘杉原’というとsugihara.comの方ですよね。
In message "[ruby-list:15655] Re: 半 to 全"
すひ。
[#15557] グループウェアサーバ — hisanori@...
松尾です。こんにちは。
ども鴫原です。
松尾です。
ども鴫原です。
松尾です。おはようございます。
[#15572] tcltklib (LoadError) — SONE Toshihiko <tsone@...>
はじめまして、曽根俊彦と申します。OpenBSD 2.5(i386), Tcl/Tk 8.0.5
まつもと ゆきひろです
From: matz@netlab.co.jp (Yukihiro Matsumoto) さん
わたなべです.
[#15593] クラス定数について — Takashi Nishimoto <g96p0935@...>
以下のプログラムを実行したのですが、
[#15602] Meeting2000 0.93b4 リリースします — 松尾尚典 <matsuo_hisanori@...21.odn.ne.jp>
松尾です。
[#15615] make でのエラーに対する仕様 — Noritsugu Nakamura <nnakamur@...>
[#15634] Qt — kikutani@...
ruby/Qtという案はかつてあったのでしょうか?
立石です。
[#15669] cannot install ruby-gtk into FreeBSD 2.2.x — TAKAHASHI Masayoshi <maki@...>
Ruby Workshopのお手紙(請求書とも言う)が届いてうれしい高橋征義です。
いがらしです。
高橋征義です。
まつもと ゆきひろです
いがらしです。
まつもと ゆきひろです
わたなべです.
わたなべです.
いがらしです。
まつもと ゆきひろです
いがらしです。
小松です。
ごとけんです
小松です。
ごとけんです
小松です。
[#15679] about postgres-0.5.1 — goto@...
後藤@横河工事です。たびたびお世話になります。
前田です。
後藤@横河工事です。
まつもと ゆきひろです
後藤@横河工事です。
立石です。
まつもと ゆきひろです
笠原@Ruby初心者です.初めまして.
まつもと ゆきひろです
西@九大です。お久しぶりです。
まつもと ゆきひろです
[#15700] Ruby 1.3.6 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.6 is out, check out:
[#15704] Ruby 1.3.6 — Yukihiro Matsumoto <matz@...>
Ruby 1.3.6 is repacked, check out:
[#15720] ruby debugger (like gdb attach) — kikutani@...
前にも2度ほど質問しましたが、cursesとかslangとかののrubyアプリを
まつもと ゆきひろです
On Fri, 30 Jul 1999 12:53:46 +0900,
Fri, Jul 30, 1999 at 02:13:13PM +0900 において
なひです.
On Sun, 1 Aug 1999 21:37:31 +0900,
なひです.
On Sat, 14 Aug 1999 14:49:39 +0900,
まつもと ゆきひろです
On Tue, 17 Aug 1999 12:37:37 +0900,
Wed, Aug 18, 1999 at 02:21:00AM +0900 において
なひです.なんか今ごろ.^^;
日時 Tue, 7 Sep 1999 19:00:14 +0900 の
[#15757] class compare — SONODA Yoshihide (園田 吉英) <ysonoda@...>
こんにちは、園田@九大です。
[#15761] alias new open — たむら けんいち <tamura-r@...>
たむら です。
[#15784] awk の gsub に相当するカウンターはないですか。 — Yukari Ono <fairy@...>
はじめまして、小野 ゆかり と申します。
[#15787] ERb について — 松尾尚典 <matsuo_hisanori@...21.odn.ne.jp>
松尾です。
[#15805] ruby-gtk-0.20 make install error — kikutani@...
ruby-gtk-0.20 ですが、make install のとき
[ruby-list:15294] gtk calculator
前橋です。
某 python-ml-jp に pygtk で作った電卓が出ていたので、それを ruby/gtk で
書き直してみました。python版よりさらにスッキリしたものになりました:-p。
実際に使うときはスクリプトの文字コードを EUC にして、環境変数 LANG を日
本語に(ja_JP.ujis とか ja_JP.EUCとか)してください。ruby-gtk 0.19 でしか
動作は確認していません。
なお、オリジナルは
竹田英二「GTK+ではじめるXプログラミング」'99, 技術評論社, pp.71-78.
に出ていたものだそうです。
----------------------------------------------------------------------
#!/usr/bin/env ruby
require 'gtk'
class Calculator
MAX_DIGIT = 12
ADD = "add"; SUB = "sub"; MUL = "mul"; DIV = "div"
def initialize
num = ""; dot = false # 組み立て中の数
erred = false # エラー状態か?
operation = nil # ∈ {nil, ADD, SUB, MUL, DIV}
operandl = 0.0 # 左オペランド
window = Gtk::Window.new(Gtk::WINDOW_TOPLEVEL)
window.set_title('calculator')
window.signal_connect('destroy') {Gtk.main_quit}
window.border_width = 5
table = Gtk::Table.new(5, 5, true)
window.add(table)
table.show
disp = Gtk::Entry.new # 電卓の表示部
disp.set_editable(false)
table.attach(disp, 0, 5, 0, 1)
disp.show
digit_clicked = proc {|widget, digit|
unless erred
if disp.get_text.length < MAX_DIGIT
num = num + digit.to_s
disp.set_text(num)
end
end
}
dot_clicked = proc {
unless erred
if disp.get_text.length < MAX_DIGIT - 1 and not dot
dot = true
num = num + '.'
disp.set_text(num)
end
end
}
equ_clicked = proc {
unless erred
x = Float(disp.get_text)
case operation
when ADD
answer = operandl + x
when SUB
answer = operandl - x
when MUL
answer = operandl * x
when DIV
if x == 0.0
disp.set_text('Error')
erred = true
else
answer = operandl / x
end
end
unless erred
num = ''; dot = false
unless operation == nil
operation = nil
disp.set_text(answer.to_s)
end
end
end
}
sign_clicked = proc {
unless erred
x = Float(disp.get_text)
answer = -x
disp.set_text(answer.to_s)
num = ''; dot = false
end
}
op_clicked = proc {|widget, opcode|
unless num == '' then equ_clicked.call end
unless erred
operation = opcode
operandl = Float(disp.get_text)
num = ''; dot = false
end
}
cle_clicked = proc {
unless erred
if num == '' then operation = nil end
disp.set_text('0')
num = ''; dot = false
end
}
clr_clicked = proc {
erred = false
operation = nil
cle_clicked.call
}
[
["7", 0, 1, 1, 2, digit_clicked, 7],
["8", 1, 2, 1, 2, digit_clicked, 8],
["9", 2, 3, 1, 2, digit_clicked, 9],
["÷", 3, 4, 1, 2, op_clicked, DIV],
["C", 4, 5, 1, 2, clr_clicked, nil],
["4", 0, 1, 2, 3, digit_clicked, 4],
["5", 1, 2, 2, 3, digit_clicked, 5],
["6", 2, 3, 2, 3, digit_clicked, 6],
["×", 3, 4, 2, 3, op_clicked, MUL],
["CE", 4, 5, 2, 3, cle_clicked, nil],
["1", 0, 1, 3, 4, digit_clicked, 1],
["2", 1, 2, 3, 4, digit_clicked, 2],
["3", 2, 3, 3, 4, digit_clicked, 3],
["−", 3, 4, 3, 4, op_clicked, SUB],
["=", 4, 5, 3, 5, equ_clicked, nil],
["0", 0, 1, 4, 5, digit_clicked, 0],
[".", 1, 2, 4, 5, dot_clicked, nil],
["+/-",2, 3, 4, 5, sign_clicked, nil],
["+", 3, 4, 4, 5, op_clicked, ADD]
].each {|label, la, ra, ta, ba, func, arg|
button = Gtk::Button.new(label)
table.attach(button, la, ra, ta, ba)
button.signal_connect('clicked', arg, &func)
button.show
}
window.show
cle_clicked.call
end
end
if __FILE__ == $0
Calculator.new
Gtk.main
end