ATOK で Ruby の実行結果を返すプラグイン (id:secondlife:20081030:1225344730)

 「ATOK で入力中に Ctrl + Insert で Ruby の実行結果が変換され」る、id:secondlife さん作の素敵なプラグイン。簡易電卓としても便利。

 変換候補が全角だと怒られるので、実コードも公開されている事だし折角だから私用に全角→半角ルーチンを仕込んでみた (Ctrl+Insert を押す前に F8 を押せば良いだけの話なのですが!)。と言う訳でダウンロードはこちらからどうぞ
 コードはこちら。私の変更部分に関しては好きにして下さい。

#!/usr/bin/ruby

$KCODE = 'u'
require 'timeout'
require 'jcode'
module Atok_plugin
  def run_process( a_request_data )
      res = nil
      composition_string = a_request_data['composition_string']
      composition_string.tr!('a-zA-Z0-9−,.!”#$%&’()=〜|^@[`{;:]+*}/<>?_¥','a-zA-Z0-9\\-,.!"#$%&\'()=~|^@[`{;:]+*}/<>?_\\')
      timeout(3) do 
        res = eval composition_string
      end
      {'candidate' => [{'hyoki' => res.to_s, 'comment' => res.to_s}]}
    rescue Exception => e
      {'candidate' => [{'hyoki' => 'エラーが発生しました', 'comment' => e.to_s }]}
  end
end

 多分高度な使い方をしなければ副作用は目立たないかと (副作用が気になる方は F8 を押しましょう :P)。