Tkで発覚した衝撃の事実
最近のスクリプト言語(Perl、Ruby、Pythonなど)はGUIを簡単に作れるよう標準でTkを搭載していることが多い。このTkというやつ、元はTclという言語のものだったということは広く知られている。だからTkってのはTclのいちライブラリであって、それを他のスクリプト言語に移植したもの、みたいな感じなんだろうなと自分はずっと思っていた。しかし実際は違った。これらはTclという言語も含めて導入されている。Tkを使ってGUIを作ろうとするとTclのコードが実行されてGUIが作られる。だから以下のようにTkを使わずTclの機能だけを使うこともできる。
# Python 3.2.2 import tkinter t = tkinter.Tcl() t.eval('puts {hello world}') t.eval('set x 2') t.eval('set x [expr $x + 3]') t.eval('puts "2 足す 3 は $x です。"')