From ef1bf4921ee4127d461eec03a14c9070d193345c Mon Sep 17 00:00:00 2001 From: Adam Carpenter Date: Mon, 11 Feb 2019 16:59:01 -0500 Subject: Init. --- piglatin/.gitignore | 2 ++ piglatin/Cargo.lock | 4 ++++ piglatin/Cargo.toml | 7 +++++++ piglatin/src/main.rs | 38 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+) create mode 100644 piglatin/.gitignore create mode 100644 piglatin/Cargo.lock create mode 100644 piglatin/Cargo.toml create mode 100644 piglatin/src/main.rs (limited to 'piglatin') diff --git a/piglatin/.gitignore b/piglatin/.gitignore new file mode 100644 index 0000000..53eaa21 --- /dev/null +++ b/piglatin/.gitignore @@ -0,0 +1,2 @@ +/target +**/*.rs.bk diff --git a/piglatin/Cargo.lock b/piglatin/Cargo.lock new file mode 100644 index 0000000..67b9b02 --- /dev/null +++ b/piglatin/Cargo.lock @@ -0,0 +1,4 @@ +[[package]] +name = "piglatin" +version = "0.1.0" + diff --git a/piglatin/Cargo.toml b/piglatin/Cargo.toml new file mode 100644 index 0000000..7d62333 --- /dev/null +++ b/piglatin/Cargo.toml @@ -0,0 +1,7 @@ +[package] +name = "piglatin" +version = "0.1.0" +authors = ["Adam Carpenter "] +edition = "2018" + +[dependencies] diff --git a/piglatin/src/main.rs b/piglatin/src/main.rs new file mode 100644 index 0000000..c5d9813 --- /dev/null +++ b/piglatin/src/main.rs @@ -0,0 +1,38 @@ +use std::env; + +fn print_usage() { + eprintln!("error: usage: piglatin [word] [words]..."); +} + +fn main() { + + for mut word in env::args().skip(1) { + // grab first letter + let first = match word.get(0..1) { + Some(s) => s, + None => { + print_usage(); + return; + } + }; + + // check if first letter is vowel or consonant + // if vowel, append -hay and print + // if consonant, appent first letter and -ay and print + match first { + "a" | "e" | "i" | "o" | "u" | + "A" | "E" | "I" | "O" | "U" => { + print!("{}-hay ", word); + }, + _ => { + let rest = match word.get(1..) { + Some(s) => s, + None => "", + }; + print!("{}-{}ay ", rest, first); + }, + } + } + + println!(); +} -- cgit v1.2.3