Ruby/Tk - FrontPage  Index  Search  Changes  PageRank  RSS  Login

RubyTk - FrontPage Diff

  • Added parts are displayed like this.
  • Deleted parts are displayed like this.

!ようこそ

ここにはRuby/Tkに関連する情報を記載していきたいと考えています.
まだ情報は乏しいですが,少しずつでも増やしていければいいなと思います.

要望があれば (かつ,都合が許せば),随時,書き加えていくと思いますので,
ruby-list ML などの場でリクエストしてください.
ダイレクトメールでも構わないのですが,見落とす可能性が高いことは御了承ください.

永井 秀利 <[[nagai@ai.kyutech.ac.jp|mailto:nagai@ai.kyutech.ac.jp]]>{{br}}
(九州工業大学大学院 情報工学研究院 知能情報工学研究系 知能情報メディア部門)

!重要情報

(2014/10/19付) 大変遅くなってしまいましたが,Tcl/Tk8.6に対応しました.
ただし,Ruby-1.9.3 は security fix しか取り込まれませんし,
Ruby-2.0.0 にも新機能は取り込まれない (SEGV対策のみ取り込み) ですので,
Tcl/Tk8.6の新機能への対応も含めたパッチをここに置いておきます.
Ruby-2.1.3 用のパッチも置いておきますので,必要であればご利用ください.

* Ruby-1.9.3 p547 用パッチ {{attach_anchor(tk-diff-ruby-1.9.3-p547.gz)}}
* Ruby-2.0.0 p576 用パッチ {{attach_anchor(tk-diff-ruby-2.0.0-p576.gz)}}
* Ruby-2.1.3 p242 用パッチ {{attach_anchor(tk-diff-ruby-2.1.3-p242.gz)}}

==2012/01/28現在,Ruby/TkでTcl/Tk8.6を使用することはできません.==

==Tcl/Tk8.6ではtailcallというコマンドが実装されて随所で使われるようになっているのですが,これが現在のtcltklibの処理と相性が悪く,正常に動作しません."tailcall cannot find the right splicing spot: should not happen!"と言われて Abort したり,結果が得られる前に呼出元に戻ってきたりします.具体例としては,Tk.getOpenFile がまともに動きません.==

==対策を考える必要があるのですが,少々面倒なことになりそう&私の手が回らないで,短期での解決は難しそうです.したがって,当面は known bug ということでTcl/Tk8.6の利用は避け,Tcl/Tk8.5か8.4を使うようにしてください.==

==現状 (2012/07/20時点) では,Tcl/Tk8.5の利用をお勧めします.拡張ライブラリ類もTcl/Tk8.4で使っていたものがそのまま使えると考えて良さそうです.ActiveTcl8.4に含まれていた拡張ライブラリをそのままActiveTcl8.5に持って行っても問題なく動くようです.==


!UbuntuでのRuby/Tk導入について
Tcl/Tkの設定情報ファイルであるtclConfigとtkConfigは,一般的には/usr/lib/tclConfig.shや/usr/lib/tkConfig.shとして置かれており,
Ruby/Tkのインストール時にはそれらのファイルの内容を調べてコンパイルのための設定を行っています.
ファイル配置が一般的であれば,例えば「sudo gem install tk」というように単純に導入できるはずです.

ですが,Ubuntuでは,この名前で置いているファイルは本来のTcl/Tkのものではなく,別の場所にある本来のファイルを読み込むようなスクリプトになっているため,
何の指定もなくgemでインストールしようとすると失敗します.
Ubuntuの場合,次の手順で導入してください.

* sudo apt install ruby-dev
* sudo apt install tcl-dev tk-dev
* sudo gem install tk -- --with-tclConfig-dir=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH` --with-tkConfig-dir=/usr/lib/`dpkg-architecture -qDEB_HOST_MULTIARCH`


!Contents

!![[最新版のRuby/Tkを使うには]]
この項目は,
将来的にはRuby/Tkのインストールガイドも兼ねるべきではありますが,
現在のところは,Ruby/Tkの最新版を入手し導入する方法について紹介しています.

Rubyのリリース版に添付のRuby/Tkは,多くの場合,最新の状態ではありません.リリース後に登場した新しいバージョンのTcl/Tkの新機能に対するサポートなどが必要であれば,最新版を調べてみてください.

一時期のRuby/Tkは,ある種のバグのため,
非常に動作が遅いということがありました
(はっきりとは覚えていませんが,1.8.6くらいの頃?).
その時期にあたるものであるかどうかは,
ウィジェットデモ(「[[Ruby/Tkのサンプルスクリプト]]」参照)の中の
「フロアプラン」のデモの描画速度で判断できます.
描画がゆっくりで,個々のステップを確認できるようであれば.
バグで動作が鈍い時期のものだと思います.
その場合は,ぜひ最新版への入れ換えを試してみてください.

!![[Ruby/Tk-Kit]]
まだ実験版ですが,Tcl/Tkのライブラリと環境とをtcltkilb.soに一体化することで,
Tcl/Tkがインストールされていない環境でRuby/Tkを使えるようにした
Linux用のtcltklib.soと,
Ruby'''''Installer 1.9.1p378rc2 用のRuby/Tk環境および置き換え用のtcltklib.soとを置いています.
良かったら試してみてください.

!![[Ruby/Tkのサンプルスクリプト]]
Ruby/Tkのソース(Rubyのソースアーカイブ)に含まれるサンプルスクリプトについての紹介や,役立ちそうなサンプルスクリプトを掲載したいと考えています.

!![[Inside Ruby/Tk]]
Ruby/Tk独自の機能を中心として解説を行います.

!![[Ruby/Tk Logo Image|Logo Image]]
Ruby/Tkのロゴイメージなんてものを作ってみました.
RubyのロゴイメージとTcl/Tkの「羽」イメージとをベースとしています.

!![[プレゼンテーション資料]]
私(永井)がRuby(主にRuby/Tk)関連でしゃべったときの資料の一部です.

!![[Ruby/Tk講習会資料]]
過去に行われたRuby/Tkの講習会の資料をダウンロードできます.
資料(テキスト)はRuby/Tkの独学の際にも役立つようにしたつもりです.

!![[参考書籍]]
Ruby/Tkに関しての書籍です.

!![[リンク]]
Ruby/Tk関連サイトなどのリンクです.

!![[RubyTkORCA]]
まだまだ開発中の状態ではありますが,
Ruby/Tkベースで作成したGUIアプリをネットを介して利用可能にしたり,
不特定多数へのサービスとして公開したりを簡単に実現可能にするためのフレームワークです.

現在,1.9 対応を含めて改善作業中.
まだ問題が複数残っているので新版公開にはまだしばらくかかりそう...

!![[その他]]
他の項目に含まれないようなものの置き場です.
基本的にはRuby関連のものですが,もしかするとそれ以外が置かれることもあるかも?