completed variables, functions, primitives, ifs.

This commit is contained in:
Greg Gradwell 2020-11-18 23:09:42 -08:00
parent 964b2a331d
commit ef6e023d4c
17 changed files with 31 additions and 48 deletions

View file

@ -1,8 +1,10 @@
// functions1.rs // functions1.rs
// Make me compile! Execute `rustlings hint functions1` for hints :) // Make me compile! Execute `rustlings hint functions1` for hints :)
// I AM NOT DONE
fn main() { fn main() {
call_me(); call_me();
} }
fn call_me() {
println!("maybe");
}

View file

@ -1,13 +1,11 @@
// functions2.rs // functions2.rs
// Make me compile! Execute `rustlings hint functions2` for hints :) // Make me compile! Execute `rustlings hint functions2` for hints :)
// I AM NOT DONE
fn main() { fn main() {
call_me(3); call_me(3);
} }
fn call_me(num) { fn call_me(num:i32) {
for i in 0..num { for i in 0..num {
println!("Ring! Call number {}", i + 1); println!("Ring! Call number {}", i + 1);
} }

View file

@ -1,10 +1,8 @@
// functions3.rs // functions3.rs
// Make me compile! Execute `rustlings hint functions3` for hints :) // Make me compile! Execute `rustlings hint functions3` for hints :)
// I AM NOT DONE
fn main() { fn main() {
call_me(); call_me(5);
} }
fn call_me(num: i32) { fn call_me(num: i32) {

View file

@ -4,14 +4,12 @@
// This store is having a sale where if the price is an even number, you get // This store is having a sale where if the price is an even number, you get
// 10 Rustbucks off, but if it's an odd number, it's 3 Rustbucks off. // 10 Rustbucks off, but if it's an odd number, it's 3 Rustbucks off.
// I AM NOT DONE
fn main() { fn main() {
let original_price = 51; let original_price = 51;
println!("Your sale price is {}", sale_price(original_price)); println!("Your sale price is {}", sale_price(original_price));
} }
fn sale_price(price: i32) -> { fn sale_price(price: i32) -> i32{
if is_even(price) { if is_even(price) {
price - 10 price - 10
} else { } else {

View file

@ -1,13 +1,11 @@
// functions5.rs // functions5.rs
// Make me compile! Execute `rustlings hint functions5` for hints :) // Make me compile! Execute `rustlings hint functions5` for hints :)
// I AM NOT DONE
fn main() { fn main() {
let answer = square(3); let answer = square(3);
println!("The answer is {}", answer); println!("The answer is {}", answer);
} }
fn square(num: i32) -> i32 { fn square(num: i32) -> i32 {
num * num; num * num
} }

View file

@ -1,13 +1,13 @@
// if1.rs // if1.rs
// I AM NOT DONE
pub fn bigger(a: i32, b: i32) -> i32 { pub fn bigger(a: i32, b: i32) -> i32 {
// Complete this function to return the bigger number! // Complete this function to return the bigger number!
// Do not use: // Do not use:
// - another function call // - another function call
// - additional variables // - additional variables
// Execute `rustlings hint if1` for hints // Execute `rustlings hint if1` for hints
if (a > b) {a} else {b}
} }
// Don't mind this for now :) // Don't mind this for now :)

View file

@ -4,13 +4,13 @@
// Step 2: Get the bar_for_fuzz and default_to_baz tests passing! // Step 2: Get the bar_for_fuzz and default_to_baz tests passing!
// Execute the command `rustlings hint if2` if you want a hint :) // Execute the command `rustlings hint if2` if you want a hint :)
// I AM NOT DONE
pub fn fizz_if_foo(fizzish: &str) -> &str { pub fn fizz_if_foo(fizzish: &str) -> &str {
if fizzish == "fizz" { if fizzish == "fizz" {
"foo" "foo"
} else if fizzish == "fuzz" {
"bar"
} else { } else {
1 "baz"
} }
} }

View file

@ -2,8 +2,6 @@
// Fill in the rest of the line that has code missing! // Fill in the rest of the line that has code missing!
// No hints, there's no tricks, just get used to typing these :) // No hints, there's no tricks, just get used to typing these :)
// I AM NOT DONE
fn main() { fn main() {
// Booleans (`bool`) // Booleans (`bool`)
@ -12,7 +10,7 @@ fn main() {
println!("Good morning!"); println!("Good morning!");
} }
let // Finish the rest of this line like the example! Or make it be false! let is_evening = false;// Finish the rest of this line like the example! Or make it be false!
if is_evening { if is_evening {
println!("Good evening!"); println!("Good evening!");
} }

View file

@ -2,8 +2,6 @@
// Fill in the rest of the line that has code missing! // Fill in the rest of the line that has code missing!
// No hints, there's no tricks, just get used to typing these :) // No hints, there's no tricks, just get used to typing these :)
// I AM NOT DONE
fn main() { fn main() {
// Characters (`char`) // Characters (`char`)
@ -16,7 +14,7 @@ fn main() {
println!("Neither alphabetic nor numeric!"); println!("Neither alphabetic nor numeric!");
} }
let // Finish this line like the example! What's your favorite character? let your_character = '8';// Finish this line like the example! What's your favorite character?
// Try a letter, try a number, try a special character, try a character // Try a letter, try a number, try a special character, try a character
// from a different language than your own, try an emoji! // from a different language than your own, try an emoji!
if your_character.is_alphabetic() { if your_character.is_alphabetic() {

View file

@ -2,10 +2,9 @@
// Create an array with at least 100 elements in it where the ??? is. // Create an array with at least 100 elements in it where the ??? is.
// Execute `rustlings hint primitive_types3` for hints! // Execute `rustlings hint primitive_types3` for hints!
// I AM NOT DONE
fn main() { fn main() {
let a = ??? let a = 1..101;
let a = [0;100];
if a.len() >= 100 { if a.len() >= 100 {
println!("Wow, that's a big array!"); println!("Wow, that's a big array!");

View file

@ -7,8 +7,6 @@
// more than 40 at once, each apple only costs 1! Write a function that calculates // more than 40 at once, each apple only costs 1! Write a function that calculates
// the price of an order of apples given the order amount. No hints this time! // the price of an order of apples given the order amount. No hints this time!
// I AM NOT DONE
// Put your function here! // Put your function here!
// fn ..... { // fn ..... {
@ -21,3 +19,11 @@ fn verify_test() {
assert_eq!(70, price1); assert_eq!(70, price1);
assert_eq!(65, price2); assert_eq!(65, price2);
} }
fn calculate_apple_price(x:i32) -> i32 {
if (x > 40) {
x*1
} else {
x*2
}
}

View file

@ -6,9 +6,7 @@
// even after you already figured it out. If you got everything working and // even after you already figured it out. If you got everything working and
// feel ready for the next exercise, remove the `I AM NOT DONE` comment below. // feel ready for the next exercise, remove the `I AM NOT DONE` comment below.
// I AM NOT DONE
fn main() { fn main() {
x = 5; let x = 5;
println!("x has the value {}", x); println!("x has the value {}", x);
} }

View file

@ -1,10 +1,8 @@
// variables2.rs // variables2.rs
// Make me compile! Execute the command `rustlings hint variables2` if you want a hint :) // Make me compile! Execute the command `rustlings hint variables2` if you want a hint :)
// I AM NOT DONE
fn main() { fn main() {
let x; let x = 9;
if x == 10 { if x == 10 {
println!("Ten!"); println!("Ten!");
} else { } else {

View file

@ -1,10 +1,8 @@
// variables3.rs // variables3.rs
// Make me compile! Execute the command `rustlings hint variables3` if you want a hint :) // Make me compile! Execute the command `rustlings hint variables3` if you want a hint :)
// I AM NOT DONE
fn main() { fn main() {
let x = 3; let mut x = 3;
println!("Number {}", x); println!("Number {}", x);
x = 5; // don't change this line x = 5; // don't change this line
println!("Number {}", x); println!("Number {}", x);

View file

@ -1,9 +1,7 @@
// variables4.rs // variables4.rs
// Make me compile! Execute the command `rustlings hint variables4` if you want a hint :) // Make me compile! Execute the command `rustlings hint variables4` if you want a hint :)
// I AM NOT DONE
fn main() { fn main() {
let x: i32; let x: i32 = 398723;
println!("Number {}", x); println!("Number {}", x);
} }

View file

@ -1,11 +1,9 @@
// variables5.rs // variables5.rs
// Make me compile! Execute the command `rustlings hint variables5` if you want a hint :) // Make me compile! Execute the command `rustlings hint variables5` if you want a hint :)
// I AM NOT DONE
fn main() { fn main() {
let number = "T-H-R-E-E"; let number = "T-H-R-E-E";
println!("Spell a Number : {}", number); println!("Spell a Number : {}", number);
number = 3; let number = 3;
println!("Number plus two is : {}", number + 2); println!("Number plus two is : {}", number + 2);
} }

View file

@ -1,9 +1,7 @@
// variables6.rs // variables6.rs
// Make me compile! Execute the command `rustlings hint variables6` if you want a hint :) // Make me compile! Execute the command `rustlings hint variables6` if you want a hint :)
// I AM NOT DONE const NUMBER:i8 = 3;
const NUMBER = 3;
fn main() { fn main() {
println!("Number {}", NUMBER); println!("Number {}", NUMBER);
} }