Function hangeul::get_choseong
source · pub fn get_choseong(c: &char) -> Result<char>
Expand description
Wrapper around Choseong
to get the first/lead character from a Hangeul syllable.
See models::Choseong.
use hangeul::get_choseong; // get_lead
use hangeul::errors::HangeulError;
use hangeul::models::Choseong;
assert_eq!(Ok('ㄱ'), get_choseong(&'갅'));
assert_eq!(Err(HangeulError::JamoNotFound), get_choseong(&'ㅏ'));
Examples found in repository?
examples/decompose.rs (line 22)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
fn main() {
// literally: pikachu transliterated
let subject = "피카츄";
// Korean marks the topic of the sentence with a post position
// particle: 이 follows consonants, and 가 follows vowels.
let post_position = match hangeul::ends_in_consonant(subject).unwrap() {
true => "이",
false => "가",
};
// -> A wild pikachu has appeared!
let sentence = format!("야생의 {}{} 나타났다!", subject, post_position);
println!("{}", sentence); // 야생의 피카츄가 나타났다!
// get_lead is an alias of get_choseong, to get the first character
// of a Hangeul syllable.
let sentence_in_choseong = sentence
.chars()
.map(|c| hangeul::get_lead(&c).unwrap_or(c))
.collect::<String>();
println!("{}", sentence_in_choseong); // ㅇㅅㅇ ㅍㅋㅊㄱ ㄴㅌㄴㄷ!
}