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