lib/jldrill/model/moji/Radical.rb in jldrill-0.5.1.7 vs lib/jldrill/model/moji/Radical.rb in jldrill-0.6.0.1
- old
+ new
@@ -1,14 +1,15 @@
+# encoding: utf-8
require 'jldrill/model/DataFile'
module JLDrill
# A radical (part of a kanji character).
class Radical
- RADICAL_RE = Regexp.new('(\S)\t(\S*)\t(\S*)\t([^\t]*)\t(\S+)?', nil, 'U')
- TO_A_RE = Regexp.new("",nil,'U')
+ RADICAL_RE = Regexp.new('(\S)\t(\S*)\t(\S*)\t([^\t]*)\t(\S+)?', nil, "u")
+ TO_A_RE = Regexp.new("",nil, "u")
attr_reader :radical, :reading, :altGlyphs, :meaning, :contents
attr_writer :radical, :reading, :altGlyphs, :meaning, :contents
def initialize(radical, reading, altGlyphs, meaning, contents)
@@ -27,11 +28,10 @@
end
end
def Radical.parse(string)
entry = nil
-
if string =~ RADICAL_RE
radical = $1
altGlyphs = Radical.splitChars($2)
reading = $3
meaning = $4
@@ -44,9 +44,24 @@
def eql?(radical)
self.to_s == radical.to_s
end
+ def to_s_with_pinyin(kanjilist)
+ kanji = kanjilist.findChar(@radical)
+ if !kanji.nil? && !kanji.pinyin.nil?
+ pinyin = kanji.pinyin.join(" ")
+ else
+ pinyin = ""
+ end
+ retVal = @radical
+ if @altGlyphs.size > 0
+ retVal += "(" + @altGlyphs.join(",") + ")"
+ end
+ retVal += " " + pinyin + " - " + @meaning
+ retVal
+ end
+
def to_s
retVal = @radical
if @altGlyphs.size > 0
retVal += "(" + @altGlyphs.join(",") + ")"
end