use serde::{Deserialize, Serialize};
use std::fmt::Display;
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct Letter {
pub frequency: f32,
pub digraphs: Vec<DigraphPair>,
}
impl Display for Letter {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
let digraph_string = self.digraphs.iter().map(|d| d.letter).collect::<String>();
return write!(
f,
"frequency: {}, digraphs: {}",
self.frequency, digraph_string
);
}
}
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct DigraphPair {
pub letter: char,
pub frequency: f32,
}