簡単なプラグインを作成して開発手順を確認する
それでは、一番簡単なサンプルを作成して、その開発手順を確認してみようと思います。ここでは、計算式を計算して、その結果を返すという簡単なプラグインを作ってみます。
冒頭で、関数を1つ作るだけでプラグインが完成することを紹介しました。具体的には、以下の図のように、関数の引数として、ATOKに入力した文字列が得られ、関数の戻り値として、変換候補を返すという仕組みになっています。
ATOKダイレクトAPIの仕組み |
Perlで作る時のひな形
以下は、Perlでプラグインを作る場合のひな形となっています。ユーザーからの入力を関数の引数として得て(*1)、それを処理して(*2)、変候補を設定し関数の戻り値として戻す(*3)
という一連の流れが見て取れることと思います。
# 諸々の宣言
package Atok_plugin;
use strict;
use utf8;
# プラグインのメイン関数の定義
sub run_process
{
# --- 関数の引数を得る --- (*1)
my( $request ) = @_;
my $input_str = $request->{ 'composition_string' };
my %result_data;
my @candidate_array;
# --- ここで何かしらの処理を行う --- (*2)
# TODO
# ..
# --- 関数の結果に変換候補をセットする --- (*3)
push( @candidate_array , { 'hyoki' => "候補" ,
'comment'=> "コメント" } );
$result_data{'candidate'} = \@candidate_array;
return( %result_data );
}
1; # ←この行も必ず必要
Rubyで作る時のひな形
以下は、Rubyでプラグインを作る時のひな形となっています。Perl版とほとんど同じですが、ユーザーからの入力を関数の引数として得て(*1)、それを処理して(*2)、変候補を設定し関数の戻り値として戻す(*3)
という一連の流れで作ります。
#! /usr/bin/ruby -Ku
module Atok_plugin
# プラグインのメイン関数の定義
def run_process( request_data )
# --- ユーザーの入力を得る --- (*1)
input_str = request_data['composition_string']
# --- ここで何かしらの処理を行う --- (*2)
# TODO
# ..
# --- 関数の結果に変換候補をセットする --- (*3)
result_data = Hash.new
candidate_array = Array.new
candidate_array.push( { 'hyoki' => "候補" ,
'comment' => "コメント"} )
result_data['candidate'] = candidate_array
return result_data
end
end