在学习Rust语言的同时,我想基于一个人的全名制作一个命理计算器。稍后,这个命理计算器将提供对其他文本以及其他数字的计算。
命理计算器将采用约翰爱德华·史密斯(John Edward Smith)之类的名字,并以此方式计算他的生活轨迹,例如:
1 + 6 + 8 + 4 + 5 + 4 + 5 + 1 + 9 + 4 + 1 + 4 + 9 + 2 + 8
J O H N E D W A R D S M I T H
将所有字母加起来得出71和7 + 1 = 8
另一种计算使用名称中的元音,这就是问题所在:大多数算法会检测到所涉及的字母是AEIO还是U,并将其声明为元音。否则,它是辅音。但是,Y可以是元音或辅音。 W有时也是元音,但就命理学而言,它始终是辅音。
我遇到了一个叫做Eudex的货物包装(据说比Soundex更好),但我不知道如何使用它来检测Y是元音还是辅音。有人可以指出我正确的方向吗?谢谢。
fn main() {
assert!((Hash::new("jumpo") - Hash::new("jumbo")).similar());
assert!(!(Hash::new("Horse") - Hash::new("Norse")).similar());
println!("{:?}", Hash::new("hello"));
println!(Hash::new("Sydney")).listVowels());
}
Hash { hash: 144115188075855872 }
最后一行打印的幻想结果: 是的