トミールの技術系日記

忍たまはじめました

Text::MeCabに渡した引数が効いてないようにみえる

use strict;
use Test::More qw(no_plan);
use MeCab;
use Text::MeCab;

my $text = "今日は晴れ";

my $swig_result = '';
{
    my $swig_mecab = MeCab::Tagger->new("--all-morphs");
    for (
        my $node = $swig_mecab->parseToNode($text);
        $node;
        $node = $node->{next}
    ) {
        $swig_result .= $node->{feature}."\n";
    }
}

my $xs_result = '';
{
    my $xs_mecab = Text::MeCab->new({ all_morphs => 1 });
    for (
        my $node = $xs_mecab->parse($text);
        $node;
        $node = $node->next
    ) {
        $xs_result .= $node->feature . "\n";
    }
}

is $swig_result, $xs_result;

MeCab.pm だと all_morphs が効いて全候補を出してくるのだけど、Text::MeCab だと普通の動作になる。ぼくだけ?

ほかの引数をいろいろ渡しても、デフォルトの動作しかしないようだ。


mecabSWIGMeCab.pm: 0.93
Text::MeCab: 0.13

Debian、Fedoca core 5で確認。