From 858e1e71e77b42e8b21a537b27c619bc0b99e21d Mon Sep 17 00:00:00 2001 From: Alexander Launi Date: Sat, 21 Mar 2020 16:08:56 -0400 Subject: [PATCH] Add recursive countdown example in Rust --- 03_recursion/rust/01_countdown/.gitignore | 10 ++++++++++ 03_recursion/rust/01_countdown/Cargo.toml | 9 +++++++++ 03_recursion/rust/01_countdown/src/main.rs | 12 ++++++++++++ 3 files changed, 31 insertions(+) create mode 100644 03_recursion/rust/01_countdown/.gitignore create mode 100644 03_recursion/rust/01_countdown/Cargo.toml create mode 100644 03_recursion/rust/01_countdown/src/main.rs diff --git a/03_recursion/rust/01_countdown/.gitignore b/03_recursion/rust/01_countdown/.gitignore new file mode 100644 index 0000000..088ba6b --- /dev/null +++ b/03_recursion/rust/01_countdown/.gitignore @@ -0,0 +1,10 @@ +# Generated by Cargo +# will have compiled files and executables +/target/ + +# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries +# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html +Cargo.lock + +# These are backup files generated by rustfmt +**/*.rs.bk diff --git a/03_recursion/rust/01_countdown/Cargo.toml b/03_recursion/rust/01_countdown/Cargo.toml new file mode 100644 index 0000000..076bdcd --- /dev/null +++ b/03_recursion/rust/01_countdown/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "countdown" +version = "0.1.0" +authors = ["Alexander Launi "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/03_recursion/rust/01_countdown/src/main.rs b/03_recursion/rust/01_countdown/src/main.rs new file mode 100644 index 0000000..2fdb117 --- /dev/null +++ b/03_recursion/rust/01_countdown/src/main.rs @@ -0,0 +1,12 @@ +fn countdown(i: u32) { + println!("{}", i); + if i == 0 { + return + } + + countdown(i - 1); +} + +fn main() { + countdown(5); +}