///|
fn main {
  let lexicon = @pinyin.LexiconBuilder::new().build()
  let first = @pinyin.match_candidate(
    "中国",
    @pinyin.convert_text("中国", lexicon, @pinyin.default_convert_options()).unwrap(),
  )
  let second = @pinyin.match_candidate(
    "中山",
    @pinyin.convert_text("中山", lexicon, @pinyin.default_convert_options()).unwrap(),
  )
  let ranked = @pinyin.rank_matches(
    "zhong",
    [first, second],
    @pinyin.default_fuzzy_profile(),
  )
  for item in ranked {
    println(item.label() + "=" + item.score().to_string())
  }
  let alignment = @pinyin.align_pinyin(
    "zang",
    "zhang",
    @pinyin.default_fuzzy_profile(),
  )
  println(
    "alignment_cost=" +
    alignment.total_cost().to_string() +
    ",equivalences=" +
    alignment.equivalences().to_string(),
  )
}