打印

求一级汉字拼音首字母

求一级汉字拼音首字母

查GB2312内码表得到每个首字母开头的第一个字。然后利用range就能求出任何一个一级汉字的首字母了。
但是对于二级汉字就不管用了

def initial(chr)
  arr = %w(啊 芭 擦 搭 蛾 发 噶 哈 击 喀 垃 妈 拿 哦 啪 期 然 撒 塌 挖 昔 压 匝)
  alphabet = %w(a b c d e f g h j k l m n o p q r s t w x y z)
  22.times do |i|
    r = Range.new(arr[i],arr[i+1],true)
    return alphabet[i] if r.include?(chr)
  end
  raise ArgumentError,"不是一级汉字",caller
end


测试

puts initial("韩")  #=> h
puts initial("菁")  #=> ArgumentError: 不是一级汉字


Digging ruby with Pickaxe,
Running agilely on rails

TOP

2008-11-22 19:10 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61