Rumix2 - Windows上でのRubyのプログラム環境
Ruby2.0系になってActiveScriptRubyがvisualurubyを同梱しなくなった為、気軽にGUIプログラムができる方法を探していたところ、Rumix2というパッケージを見つけました。
MinGW版のRuby(現在のバージョンはruby 2.0.0p451 (2014-02-24) [i386-mingw32])とRuby/tk、Devkitやocraが一括でインストールされるので簡単に環境が作れて便利です。USB Rumix 2 miniという軽量パッケージもあるので、とりあえずRuby/tkだけ使用したい場合にはこちらを使用すると良いです。
環境整備
- rumix2をc:\rumix2にインストール(或はUSB版を展開)
- 作業ディレクトリとしてc:\rumix2\homeを作成
- 端末ckwの色を変えたい場合は、C:\rumix2\ckw.cfgを編集
- 端末起動時にhomeディレクトリへ移動と、コマンドプロンプトにフルパスを表示させるためにC:\rumix2\shell\nyaos\_nyaを修正
# コマンドプロンプト修正 #option prompt $e[31;40;1m[$w]$_$$ $e[37;1m option prompt $e[31;40;1m[$p]$_$$ $e[37;1m # 端末起動時にhomeディレクトリへ移動(ファイルの最後に追加) cd home
サクラエディタの外部マクロとしてrubyを使う
検索してみるとエディタからJScriptのマクロを呼び出して、その中でrubyスクリプトを呼べば良いみたい。
試してみるとrubyスクリプトの標準出力は、そのままエディタ上のカーソル位置に挿入される様です。JScriptマクロからrubyスクリプトへテキストを渡すには、一旦一時ファイルに出力してファイルを介して行う方法と、そのままrubyスクリプトの標準入力へパイプで渡す方法を試して見ましたが、後者の方がファイルの生成が無い分処理が速い様です。ただし渡すテキスト内に改行があると後者の方法は使えません。
勉強で、行頭にその行の文字数を挿入するマクロを作って見ました。
foobar あいうえお
このテキストが
[size = 6]foobar [size = 5]あいうえお
の様になります。JScriptマクロでは先頭行から順に改行コードを削除した文字列をRubyスクリプトに渡し、Rubyスクリプト側ではその文字数を標準出力に出力しているだけです。
当初Rubyスクリプトへ文字列を渡すのにechoコマンドを使用してみたのですが強制的に改行が入ってしまいパイプが繋がらないので、対処方法としてこちらの記事を参考にさせていただきました。