natto 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +21 -4
- data/lib/natto/version.rb +1 -1
- data/lib/natto.rb +34 -22
- metadata +3 -3
data/README.md
CHANGED
@@ -27,13 +27,26 @@ e.g., for Cygwin
|
|
27
27
|
export MECAB_PATH=cygmecab-1
|
28
28
|
|
29
29
|
## Usage
|
30
|
+
require 'rubygems' if RUBY_VERSION.to_f < 1.9
|
30
31
|
require 'natto'
|
31
32
|
|
32
|
-
|
33
|
+
mecab = Natto::MeCab.new
|
33
34
|
=> #<Natto::MeCab:0x28d93dd4 @options={}, \
|
34
35
|
@dicts=[#<Natto::DictionaryInfo:0x28d93d34>], \
|
35
|
-
@ptr=#<FFI::Pointer address=0x28af3e58
|
36
|
-
|
36
|
+
@ptr=#<FFI::Pointer address=0x28af3e58>, \
|
37
|
+
@version="0.98">
|
38
|
+
|
39
|
+
puts mecab.version
|
40
|
+
=> 0.98
|
41
|
+
|
42
|
+
sysdic = mecab.dicts.first
|
43
|
+
puts sysdic.filename
|
44
|
+
=> /usr/local/lib/mecab/dic/ipadic/sys.dic
|
45
|
+
|
46
|
+
puts sysdic.charset
|
47
|
+
=> utf8
|
48
|
+
|
49
|
+
puts mecab.parse('暑い日にはもってこいの一品ですね。')
|
37
50
|
暑い日にはもってこいの一品ですね。
|
38
51
|
暑い 形容詞,自立,*,*,形容詞・アウオ段,基本形,暑い,アツイ,アツイ
|
39
52
|
日 名詞,非自立,副詞可能,*,*,*,日,ヒ,ヒ
|
@@ -59,7 +72,11 @@ e.g., for Cygwin
|
|
59
72
|
|
60
73
|
## Changelog
|
61
74
|
|
62
|
-
- __2011/01/15__: 0.1.
|
75
|
+
- __2011/01/15__: 0.1.1 release.
|
76
|
+
- Internal tweak to accessor for version in Natto::MeCab
|
77
|
+
- Continuing update of documentation
|
78
|
+
|
79
|
+
- __2011/01/14__: 0.1.0 release.
|
63
80
|
- Added accessors to Natto::DictionaryInfo
|
64
81
|
- Added accessor for version in Natto::MeCab
|
65
82
|
- Continuing update of documentation
|
data/lib/natto/version.rb
CHANGED
data/lib/natto.rb
CHANGED
@@ -10,29 +10,29 @@ module Natto
|
|
10
10
|
# initialization.
|
11
11
|
#
|
12
12
|
# <h2>Usage</h2>
|
13
|
-
# Here is how to use natto under Ruby 1.8.n:<br/>
|
14
13
|
#
|
15
|
-
# require 'rubygems'
|
14
|
+
# require 'rubygems' if RUBY_VERSION.to_f < 1.9
|
16
15
|
# require 'natto'
|
17
16
|
#
|
18
|
-
#
|
17
|
+
# mecab = Natto::MeCab.new
|
19
18
|
# => #<Natto::MeCab:0x28d93dd4 @options={}, \
|
20
19
|
# @dicts=[#<Natto::DictionaryInfo:0x28d93d34>], \
|
21
|
-
# @ptr=#<FFI::Pointer address=0x28af3e58
|
22
|
-
#
|
20
|
+
# @ptr=#<FFI::Pointer address=0x28af3e58>, \
|
21
|
+
# @version="0.98">
|
22
|
+
#
|
23
|
+
# puts mecab.parse("ネバネバの組み合わせ美味しいです。")
|
23
24
|
# ネバネバ 名詞,サ変接続,*,*,*,*,ネバネバ,ネバネバ,ネバネバ
|
24
25
|
# の 助詞,連体化,*,*,*,*,の,ノ,ノ
|
25
26
|
# 組み合わせ 名詞,一般,*,*,*,*,組み合わせ,クミアワセ,クミアワセ
|
26
|
-
#
|
27
|
+
# 美味しい 形容詞,自立,*,*,形容詞・イ段,基本形,美味しい,オイシイ,オイシイ
|
27
28
|
# です 助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
|
28
29
|
# 。 デス記号,句点,*,*,*,*,。,。,。
|
29
30
|
# EOS
|
30
31
|
# => nil
|
31
32
|
#
|
32
|
-
# The <tt>require 'rubygems'</tt> can be omitted for Ruby 1.9.n.
|
33
33
|
class MeCab
|
34
34
|
|
35
|
-
attr_reader :options, :dicts
|
35
|
+
attr_reader :options, :dicts, :version
|
36
36
|
|
37
37
|
# Supported options to the <tt>mecab</tt> parser.
|
38
38
|
# See the <tt>mecab</tt> help for more details.
|
@@ -66,11 +66,13 @@ module Natto
|
|
66
66
|
# <i>Use single-quotes to preserve format options that contain escape chars.</i><br/>
|
67
67
|
# e.g.<br/>
|
68
68
|
#
|
69
|
-
#
|
69
|
+
# mecab = Natto::MeCab.new(:node_format=>'%m\t%f[7]\n')
|
70
70
|
# => #<Natto::MeCab:0x28d8886c @options={:node_format=>"%m\\t%f[7]\\n"}, \
|
71
71
|
# @dicts=[#<Natto::DictionaryInfo:0x28d8863c>], \
|
72
|
-
# @ptr=#<FFI::Pointer address=0x28e3b268
|
73
|
-
#
|
72
|
+
# @ptr=#<FFI::Pointer address=0x28e3b268>, \
|
73
|
+
# @version="0.98">
|
74
|
+
#
|
75
|
+
# puts mecab.parse('簡単で美味しくて良いですよね。')
|
74
76
|
# 簡単 カンタン
|
75
77
|
# で デ
|
76
78
|
# 美味しくて オイシクテ
|
@@ -98,6 +100,8 @@ module Natto
|
|
98
100
|
@dicts << Natto::DictionaryInfo.new(@dicts.last[:next])
|
99
101
|
end
|
100
102
|
|
103
|
+
@version = Natto::Binding.mecab_version
|
104
|
+
|
101
105
|
ObjectSpace.define_finalizer(self, self.class.create_free_proc(@ptr))
|
102
106
|
end
|
103
107
|
|
@@ -111,15 +115,11 @@ module Natto
|
|
111
115
|
raise(MeCabError.new(Natto::Binding.mecab_strerror(@ptr)))
|
112
116
|
end
|
113
117
|
|
114
|
-
# Returns
|
115
|
-
#
|
116
|
-
#
|
117
|
-
|
118
|
-
|
119
|
-
end
|
120
|
-
|
121
|
-
# Returns a <tt>Proc</tt> that is registered to be invoked
|
122
|
-
# after the object owning <tt>ptr</tt> has been destroyed.
|
118
|
+
# Returns a <tt>Proc</tt> that will properly free resources
|
119
|
+
# when this <tt>MeCab</tt> instance is garbage collected.
|
120
|
+
# The <tt>Proc</tt> returned is registered to be invoked
|
121
|
+
# after the <tt>MeCab</tt> instance owning <tt>ptr</tt>
|
122
|
+
# has been destroyed.
|
123
123
|
#
|
124
124
|
# @param [FFI::Pointer] ptr
|
125
125
|
# @return [Proc] to release <tt>mecab</tt> resources properly
|
@@ -139,6 +139,7 @@ module Natto
|
|
139
139
|
SUPPORTED_OPTS.each do |k|
|
140
140
|
if options.has_key? k
|
141
141
|
key = k.to_s.gsub('_', '-')
|
142
|
+
# all-morphs and partial are just flags
|
142
143
|
if %w( all-morphs partial ).include? key
|
143
144
|
opt << "--#{key}" if options[k]==true
|
144
145
|
else
|
@@ -171,11 +172,15 @@ module Natto
|
|
171
172
|
# - :next
|
172
173
|
#
|
173
174
|
# <h2>Usage</h2>
|
175
|
+
# <tt>mecab</tt> dictionary attributes can be obtained by
|
176
|
+
# using the corresponding accessor.
|
174
177
|
#
|
175
|
-
#
|
178
|
+
# mecab = Natto::MeCab.new
|
176
179
|
# sysdic = m.dicts.first
|
180
|
+
#
|
177
181
|
# puts sysdic.filename
|
178
182
|
# => /usr/local/lib/mecab/dic/ipadic/sys.dic
|
183
|
+
#
|
179
184
|
# puts sysdic.charset
|
180
185
|
# => utf8
|
181
186
|
#
|
@@ -185,6 +190,7 @@ module Natto
|
|
185
190
|
#
|
186
191
|
# puts sysdic[:filename]
|
187
192
|
# => /usr/local/lib/mecab/dic/ipadic/sys.dic
|
193
|
+
#
|
188
194
|
# puts sysdic[:charset]
|
189
195
|
# => utf8
|
190
196
|
#
|
@@ -202,7 +208,13 @@ module Natto
|
|
202
208
|
# Hack to avoid that deprecation message Object#type.
|
203
209
|
if RUBY_VERSION.to_f < 1.9
|
204
210
|
alias_method :deprecated_type, :type
|
205
|
-
#
|
211
|
+
# <tt>Object#type</tt> override defined when <tt>RUBY_VERSION</tt> is
|
212
|
+
# less than 1.9. This is a hack to avoid the <tt>Object#type</tt>
|
213
|
+
# deprecation warning thrown up in Ruby 1.8.7.
|
214
|
+
#
|
215
|
+
# <i>This method override is not defined when the Ruby interpreter
|
216
|
+
# is 1.9 or greater.</i>
|
217
|
+
# @return [Fixnum] <tt>mecab</tt> dictionary type
|
206
218
|
def type
|
207
219
|
self[:type]
|
208
220
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 1
|
8
|
-
-
|
9
|
-
version: 0.1.
|
8
|
+
- 1
|
9
|
+
version: 0.1.1
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Brooke M. Fujita
|
@@ -55,7 +55,7 @@ licenses:
|
|
55
55
|
post_install_message:
|
56
56
|
rdoc_options:
|
57
57
|
- --title
|
58
|
-
- natto 0.1.
|
58
|
+
- natto 0.1.1 -- Ruby-Mecab binding
|
59
59
|
- --main
|
60
60
|
- README.md
|
61
61
|
- -c UTF-8
|