Linux Mint で Ruby/Tk

LinuxRuby で Tk を使いたい場合、bundler ではインストールできません。Ruby インストール時に一緒に入れるようです。自分は既に最新の Ruby 2.2.3 を Tk なしでインストールしていたので、rbenv を使って Ruby 2.2.2 + Tk を入れてみました。

$ sudo apt-get install tk-dev
$ CONFIGURE_OPTS="--with-tcltkversion=8.6 --with-tcl-lib=/usr/lib/x86_64-linux-gnu --with-tk-lib=/usr/lib/x86_64-linux-gnu --with-tcl-include=/usr/include/tcl8.6 --with-tk-include=/usr/include/tcl8.6 --enable-pthread --enable-shared" rbenv install 2.2.2

で、Tk 付きの Ruby 2.2.2 がインストールされます。

テストとしては

$ ruby -e "require 'tk'"

でエラーが出なければ成功です。

初めてのRuby』にあるサンプルコードを写しておきます。

require 'tk'

TkLabel.new {
  text "Hello, world!"
  bg "red"
  pack
}
TkButton.new {
  text "Close"
  command {exit}
  pack
}
Tk.mainloop


順に数字を表示させる。

require 'tk'

def pout
  l = TkLabel.new
  for i in 1..3
    l.text("#{i}").pack.update
    sleep(1)
  end
  exit
end

e = TkButton.new('text'=>'start', 'command'=>proc {pout}).pack
Tk.mainloop


参考:
Ruby 2.2.0でRuby/TKを使えるようにするconfigureオプション - ござるのブログ
Ubuntu 14.04にrbenvでRuby 2.2.3をインストールし、Ruby/Tkを有効にする - ksino's diary

Rubyを256倍使うための本 界道編

Rubyを256倍使うための本 界道編