初めて!!Ruby4
二日ぶりにRubyの勉強。
コールバックの例文で以下の通りに入力してみました。
require 'tk' TkLabel.new{ text "hello, world!!" bg "red" pack } TkButton.new{ text "Close" command {exit} pack } Tk.mainloop
保存したファイルをコマンドラインから実行すると、以下のエラーが出て実行できず・・・。
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- tk (LoadError) from <internal:lib/rubygems/custom_require>:29:in `require' from test1.rb:2:in `<main>'
調べてみたところ、単純にrequireで呼び出しているライブラリがないらしい・・。
※requireは同じファイルを1度だけ読み出す関数だそうな。
ここに至ってようやく気がつく。
どうやらRubyのインストールを勘違いしていた(!!)ので、Ruby本体のインストールからやり直し(;´∀`)
初めて!!Ruby2にてやり直し方法は記載しています。
で、Rubyのインストールをやり直し、Tkを利用するための外部ライブラリであるActiveTclをインストールしてみました。
これで実行できる!と喜んだのも束の間、実行できない。Σ(゚д゚lll)ガーン
しかし実行時に出力されるメッセージが前とは異なっています。
「コンピュータにtk84.dllがないため、プログラムを開始できません。この問題を解決するには、プログラムを再インストールしてみてください。」
自分がActiveTclの最新版としてインストールしたのはActiveTcl8.5.9.1.294121-win32-ix86-threaded.exe
単純にRubyの最新版が参照しているバージョンと合ってないようです。
ActiveTcl8.4.19.4.292682-win32-ix86-threaded.exe
をダウンロードしてきてインストールしてみました。
インストール完了後、test1.rbを実行。
お、なんだか反応が違う・・・成功か!?(゚∀゚)と思っていたら、またエラー。
test1.rb:3:in `<main>': uninitialized constant Object::TkLable (NameError)
でも今回は単純に記述ミス_| ̄|○ il||li
気を取り直してミスった部分を直して再度実行。
キタ――(゚∀゚)――!!
なんとか実行まで漕ぎ着けました・・・(´Д`)ハァ…
今回はTkを使うためにActiveTclをインストールしましたが、他にも外部ファイルはあるので、必要に応じてインストールしていこうと思います。