Ruby で GUI プログラム
macOS に homebrew で新しい ruby を入れます。
brew install ruby
'export PATH="/opt/homebrew/opt/ruby/bin:$PATH"' >> ~/.zshrc
gem で Ruby/Tk をインストール。gem install tk はそのままでは通らないので、ライブラリを指定しないといけませんでした。homebrew のライブラリを探して指定しました。
gem install tk -- tcltkversion=8.6 --with-tcl-lib=/opt/homebrew/opt/tcl-tk/lib/ --with-tk-lib=/opt/homebrew/opt/tcl-tk/lib Building native extensions with: 'tcltkversion=8.6 --with-tcl-lib=/opt/homebrew/opt/tcl-tk/lib/ --with-tk-lib=/opt/homebrew/opt/tcl-tk/lib'
これで無事インストールできました。テストプログラムを書いてみます。
#!ruby # require でライブラリを読み込み require 'tk' # ボタンを新規作成 引数は "属性: 値" で指定。ボタンを押したときの挙動は command: proc {} で指定できる。 button1 = TkButton.new(text: 'Hello Ruby/Tk', font: ['',24], command: proc { exit }) # ボタンを配置。とりあえず pack でお任せ配置 button1.pack # mainloop を回すと、ループが無限に回る Tk.mainloop
ちゃんと動きました。