Comments 12
А почему такие странные имена? Succ Nat
Серьезно? а 'Hello world' на нем можно написать? давайте целый цикл статей что можно написать на Rust'e
А разве это и не есть hello world? По моему хорошой туториал. только мало информации для новичков (лично я почти ничего не понял)
Реализация арифметики в системе типов, даже без вычитания, вещь важная, вполне заслуживающая отдельной статьи.
Ну если надо писать целую статью, что бы рассказать как складывать числа, я боюсь представить какой консилиум собирается из специалистов, когда вам надо сделать чего по-серьезней на нем. В общем, ваш rust — говно
Добавив немного магии, можно получить обратно нормальный вывод чисел:
impl ::std::fmt::Display for Zero {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
write!(f, "0")
}
}
impl<T : Nat + ::std::fmt::Display> ::std::fmt::Display for Succ<T> {
fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
let res = format!("{}", T::new());
match res.parse::<i32>() {
Ok(n) => write!(f, "{}", 1 + n),
Err(e) => write!(f, "ERROR")
}
}
}
Sign up to leave a comment.
Складываем числа на Rust