ruby 1.8.7からmecabを呼ぶ (libmecab.dllを用いる方法)

コードがShift JISの場合の例です。UTF-8の場合は1行目を下記に変更してください。
#!ruby -Ku

Kazuto Fukuchiさんの下記ページを参考にさせていただきました。
https://gist.github.com/nanofi/2927253

#!ruby -Ks
require "dl/import"

module MecabImporter
extend DL::Importable
path = 'C:/Program Files/MeCab/bin/libmecab.dll' #パスは変更のこと
dlload path
extern "mecab_t* mecab_new2(const char*)"
extern "const char* mecab_sparse_tostr(mecab_t*, const char*)"
extern "void mecab_destroy(mecab_t *)"
end

class Mecab
  @mecab=nil
  def initialize(args)
    @mecab=MecabImporter.mecab_new2(args)
  end
  def sparse_tostr(str)
    MecabImporter.mecab_sparse_tostr(@mecab,str)
  end
  def destroy()
    MecabImporter.mecab_destroy(@mecab)
  end
end

begin
  m=Mecab.new("")
  puts m.sparse_tostr("これは本ではありません")
ensure
  m.destroy
end

 ホームに戻る

kokkai_api.htmlへのリンク