natto 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|