return nil if v.nil?
return v.to_i if /\A\d+\Z/ =~ v # number?
return $1 if /\A"(.+)"\Z/ =~ v # remove surrounding "
- v # sexp?
+ v # sexp? or the other?
end
end
end
def each_feature_name()
-# setup_ds
@ds.each_feature_name {|f|
next if f.to_s == "." || f.to_s == ".."
next if f.to_s =~ /\.txt\Z/
end
def each_ccs
-# setup_ds
each_entry("character/by_feature") {|f| yield(f) }
end
def get_feature(name)
-# setup_ds
@feature_db[name] = FeatureDB.new(self, name) if @feature_db[name].nil?
@feature_db[name]
end
def load_feature(cid, name)
-# setup_ds
feature = get_feature(name)
feature.get_value(cid)
end
def get_ccs(name)
-# setup_ds
@ccs_db[name] = CCS_DB.new(self, name) if @ccs_db[name].nil?
@ccs_db[name]
end
def decode_char(ccs, code_point)
-# setup_ds
ccsdb = get_ccs(ccs)
ccsdb.decode(code_point)
end
def get_by_ids_db(n)
-# setup_ds
@byids_db[n] = ByIDS_DB.new(self, n) if @byids_db[n].nil?
@byids_db[n]
end