summaryrefslogtreecommitdiff
path: root/ext/tk/sample/demos-jp/README
blob: 427812465903bc051dcca37fa3108ab76236884a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54

  Ruby/Tk widget-demo
                              version 1.2 ( 2000/04/08 )
                              永井@知能.九工大 (nagai@ai.kyutech.ac.jp)

標準配布の Tcl/Tk 拡張パッケージを取り込んだ Ruby (以下 Ruby/Tk と呼びます)
では,Tk widget を用いた GUI の作成を行うことができます.実際に GUI を作成
していく場合には様々な実例がサンプルとして存在すると便利なのですが,Ruby/Tk
にはそのような適当なサンプルスクリプト集合は存在しませんでした.それに対し,
拡張パッケージの元である Tcl/Tk には,Tk widget を用いてどのようなことがで
きるかを示すものとして widget-demo が存在しおり,Tcl/Tk を用いた GUI の作成
を習得する際の代表的サンプルとなっています.本アーカイブは,Ruby/Tk の習得の
ための代表的なサンプルスクリプトとすべく,Tcl/Tk の widget-demo を移植したも
のです.

今回のバージョンは ruby-1.4.x に対応としておきますが,旧バージョンに比べて,
ほとんど変更はありません.ruby-1.1c2 以上なら動くと思います.ruby-1.5.x につ
いてはテストしていません.そのため,非互換の影響が出ることがあるかもしれませ
んが,その場合でも少しの修正で動かせると思います.組み込む Tk のバージョンは,
4.2 でも 8.0 でも修正なく動かせるはずです.ただし,日本語版での移植となって
いるため,日本語化された Tk をご利用ください.スクリプトのテストは,旧バージョ
ンの際に Tk4.2jp と Tk8.0jp の上で行っています (完璧にではないですが).今回
のバージョンでは ruby-1.4.x + Tk8.0jp 上での簡単なテストしか行っていませんが,
修正というほどの修正はしていませんので問題はないと考えています.

本アーカイブに含まれるスクリプトの多くは,元となっている Tcl/Tk 版に比較的近
いスクリプト記述となるようにしています.そのため,Ruby/Tk のサンプルと言うに
は,あまり Ruby らしくないとも言えるでしょう.にもかかわらず,そのような記述
を取っている理由は,Ruby/Tk のドキュメント不足にあります.

Tcl/Tk には適当な参考書が何冊か存在していますから,Ruby/Tk スクリプトを作成
する際は,そのような Tcl/Tk の参考書で情報を補いながら作成することになると思
います.各 widget の使用例として,Tcl/Tk の widget-demo を参照することもある
でしょう.Ruby/Tk 版の記述を widget-demo を Tcl/Tk 版の記述に近いものにして
おけば,その対比によって,Ruby/Tk の理解を早めることができると考えられます.
一旦 Ruby/Tk での 各 widget の使用方法を習得してしまえば,Ruby らしいスクリ
プトを作成することは難しくないでしょう.本アーカイブのスクリプトは,Ruby/Tk
を最初に習得するまでの踏台として利用していただければ幸いです.

widget-demo の移植にあたっては,次の方にも移植したスクリプトを提供していただ
きました.ここに感謝の意を表します.

    立石@JAIST (ttate@jaist.ac.jp) さん
    平松祥史 (hiramatu@cdrom.co.jp) さん

平松さんによる Ruby/Tk 入門の Web page (http://www.cdrom.co.jp/~hiramatu/)
も Ruby/Tk の習得に有用と思えますので,ぜひご参照ください.

また,前橋 (maebashi@iij.ad.jp) さんをはじめとして,widget-demo の移植に際し
て必要となった Ruby の Tk 関連ライブラリ修正について,問題点,バグの指摘をし
ていただいた方々にも感謝致します.

そして最後に最大の感謝を Ruby 設計者の まつもと ゆきひろ (matz@netlab.co.jp)
さんに捧げたいと思います.