#alphabet #sorting #old-norse

old_norse_alphabet

古诺斯字母常量 & Rust 排序

1 个稳定版本

1.0.0 2021 年 11 月 21 日

#1586 in 数据结构

MIT 许可证

12KB
146

古诺斯字母

古诺斯字母常量 & Rust 排序

动机

古诺斯字母包含一些在大多数键盘上难以输入的字母,例如 Þ、ð 和 ǫ。还有一些字母“缺失”,如 c 和 q。此包提供了字母和复杂的单个字母作为常量。

还提供排序函数以获取正确的古诺斯字母顺序。

安装

将以下内容添加到您的 Cargo.toml

[dependencies]
old_norse_alphabet = "1.0.0"

用法

该包提供了大写和小写形式的古诺斯字母,以及一个按古诺斯字母顺序排序的函数。

排序

该包公开了自定义比较函数以获取正确的古诺斯字母顺序。

use old_norse_alphabet::old_norse_sort;

// Sample vec of old norse words.
let mut words = vec!["öðli", "ógnan", "æðrask", "aðili", "þakkan", "áfir", "á-auki", "él-ligr", "maðka", "ef-lauss", "œgir", "áðr", "maðr", "madr", "mæðr"];
words.sort_by(|a, b| old_norse_sort(a, b));

// Sorted vec is: "aðili", "á-auki", "áðr", "áfir", "ef-lauss", "él-ligr", "madr", "maðka", "maðr", "mæðr", "ógnan", "þakkan", "æðrask", "œgir", "öðli"

字母

要使用字母常量

use old_norse_alphabet::{get_lowercase, get_uppercase};

// Outputs are [char; 34]
let lower = get_lowercase();
let upper = get_uppercase();

for (index, letter) in lower.iter().enumerate() {
    println!("{}. letter: {}", index + 1, letter) // eg. 5. letter: ð
}

公开的特殊字符

use old_norse_alphabet::{ETH, THORN, O_CAUDATA, SLASHED_O, AE, OE, ASH};

println!("{}", ETH); // ð
println!("{}", THORN); // þ
println!("{}", O_CAUDATA); // ǫ
println!("{}", SLASHED_O); // ø
println!("{}", AE); // æ
println!("{}", OE); // œ
println!("{}", ASH); // Alternative export of AE

关于古诺斯语

古诺斯语 是一种北日耳曼语,从 7 世纪到 15 世纪由斯堪的纳维亚人和他们的海外定居者使用。

无运行时依赖