[#40641] ライブラリのパス?を確認する方法と、設定する方法がわかりません。 — "Inoue Koichi" <inokou@...>
はじめまして、井上です。
6 messages
2005/03/04
[#40645] [ANN] YARV - Yet Another RubyVM 0.2.0 — SASADA Koichi <ko1@...>
ささだです。
1 message
2005/03/04
[#40647] RAA dead link check — "NAKAMURA, Hiroshi" <nakahiro@...>
なひです。
19 messages
2005/03/04
[#40685] Re: RAA dead link check
— "NAKAMURA, Hiroshi" <nakahiro@...>
2005/03/20
-----BEGIN PGP SIGNED MESSAGE-----
[#40687] Re: RAA dead link check
— "NAKAMURA, Hiroshi" <nakahiro@...>
2005/03/20
-----BEGIN PGP SIGNED MESSAGE-----
[#40651] LDAPでReferral — Takeyuki Fujioka <fuji@...>
藤岡です。
7 messages
2005/03/08
[#40657] ruby-postgresql0.7.1 — Ryutaro Amano <wn9r-amn@...>
天野竜太郎です。Mac OS X 10.3.8です。
11 messages
2005/03/09
[#40668] net/httpが返すエラーの捕捉について質問 — ikezawa@... (ikezawa)
池澤といいます。
6 messages
2005/03/13
[#40670] CGI.rb POSTしたデータが途切れる — KAWAI Ryuji <riu2@...>
河合と申します。
10 messages
2005/03/14
[#40692] Class.allocateの代替手段はあるか? — 西 啓一朗 <receiver@...>
どうも。西 啓一朗@Ktouth Brand.です。
4 messages
2005/03/21
[#40703] 拡張ライブラリでのクラス変数の参照について — Macoto Kawaguchi <macoto@...>
はじめまして。川口と申します。
3 messages
2005/03/23
[#40714] erubyにおける 「name=value」の指定の仕方 — Hisao Katayama <katayama-ruby@...>
はじめまして、erubyでcgiをコマンドラインで実行するときの
5 messages
2005/03/23
[ruby-list:40656] TkTextIO class
From:
Hidetoshi NAGAI <nagai@...>
Date:
2005-03-09 07:42:40 UTC
List:
ruby-list #40656
永井@知能.九工大です.
TkTextIO クラスというものを Ruby/Tk のサンプルで作りました.
少しは面白いものになりましたので,報告しておきます.
TkTextIO クラスは Ruby/Tk のテキストウィジェットを
I/O stream として使うためのクラスです.
StringIO に似たものだと思ってもらえばいいでしょう.
TkText のサブクラスですから,もちろんテキストウィジェットとしての
操作も可能です.
StringIO クラスと同様に IO クラスのインスタンスメソッドを
実装していますので,オブジェクトを $stdin, $stdout, $stderr に
代入して使うことが可能です.
置き換えた場合は,単純に puts などをすると TkTextIO の
テキストウィジェット上に出力されることになります.
ただし,重要な違いが一点あります.
それは「すべての処理が byte 単位ではなく文字単位となる」という点です.
そのため,getc は 1 byte の文字コードではなく,1 文字を返します.
マルチバイト文字も getc で 1 文字が得られます.
seek などでの位置の制御や read での読み出しサイズも「文字」が単位です.
例えば seek(10) は「10 byte 目」ではなく「10 文字目」となります.
read(20) も「20 byte」ではなく「20 文字」を返します.
この違いにより,getc が Fixnum を返すことを前提としている部分などで
そのまま置き換えるのには使えませんが,逆にこの点が有用なケース
(必ずしも画面に出す必要はない) もあるかと思います.
なお,readline が用いられている際に $stdin や $stdout の
置き換えとして代入することはできません.
# readline ライブラリが core を吐きます.(^_^;
CVS の 1.8, 1.9 の両方で ext/tk/sample/tktextio.rb として
ほおり込んでありますので,良かったらお試しください.
--
永井 秀利 (九工大 知能情報)
nagai@ai.kyutech.ac.jp