31: Improve solution for Rust track exercise "Raindrops".
[?]
Aaw9nJhsNmfzFih9mKyNw9mV8CgERXJkRa1kK1Kx3LQH
Sep 2, 2021, 9:42 PM
XDEY7SNLZMAC3KIKUHDGZGGXHHT7BYF3GSVAREXESO5D4S6FZBQQCDependencies
- [2]
J3ZPU3R228: Add missing semicolon in solution for Rust track exercise "Raindrops". - [3]
IXMBS6ZP29: Improve solution for Rust track exercise "Nth Prime". - [4]
N3POGH267: Add solution for Rust track exercise "Raindrops". - [5]
ERYD4CD711: Add solution for Rust track exercise "Nth Prime". - [6]
MBAFQOWX8: Improve solution for Rust track exercise "Raindrops". - [7]
MSFESBT66: Add Rust track exercise "Raindrops". - [8]
SGDHLMNR27: Improve solution for Rust track exercise "Raindrops". - [9]
UTP7D53Q12: Improve solution for Rust track exercise "Nth Prime". - [10]
WQIAT4H69: Improve solution for Rust track exercise "Raindrops". - [11]
QGB53CNE14: Improve solution for Rust track exercise "Raindrops". - [*]
JZN2AQ3E10: Add Rust track exercise "nth-prime".
Change contents
- edit in rust/raindrops/src/lib.rs at line 1
const PREFIX: &str = "Pl";const FACTORS_VOWELS: &[(u32, &str)] = &[(3, "i"), (5, "a"), (7, "o")];const SUFFIX: &str = "ng";const MAX_STRING_LENGTH: usize =(PREFIX.len() + FACTORS_VOWELS[0].1.len() + SUFFIX.len()) * FACTORS_VOWELS.len(); - replacement in rust/raindrops/src/lib.rs at line 8
let mut out = String::with_capacity(15);// Check that the assumption that MAX_STRING_LENGTH is equal to the length of constructing the largest output holds.debug_assert!(FACTORS_VOWELS.iter().map(|tuple| PREFIX.len() + tuple.1.len() + SUFFIX.len()).sum::<usize>().eq(&MAX_STRING_LENGTH),"MAX_STRING_LENGTH is not equal to the length of the largest constructible output."); - replacement in rust/raindrops/src/lib.rs at line 18[4.1047]→[4.75:173](∅→∅),[4.173]→[4.43:67](∅→∅),[4.67]→[4.199:224](∅→∅),[4.199]→[4.199:224](∅→∅),[4.224]→[2.0:24](∅→∅),[2.24]→[4.249:260](∅→∅),[4.91]→[4.249:260](∅→∅),[4.249]→[4.249:260](∅→∅)
[(3, "i"), (5, "a"), (7, "o")].iter().for_each(|(factor, vowel)| {if n % factor == 0 {out.push_str("Pl");out.push_str(vowel);out.push_str("ng");}});let mut out = String::with_capacity(MAX_STRING_LENGTH);FACTORS_VOWELS.iter().for_each(|(factor, vowel)| {if (n % factor).eq(&0) {out.push_str(PREFIX);out.push_str(vowel);out.push_str(SUFFIX);}}); - replacement in rust/nth-prime/src/lib.rs at line 43
// Might return incorrect value if values greater than u32::MAX are cast.// Might panic if values greater than u32::MAX are cast. - replacement in rust/nth-prime/src/lib.rs at line 59
// Might return incorrect value if values greater than u32::MAX are cast.// Might panic if values greater than u32::MAX are cast. - replacement in rust/nth-prime/src/lib.rs at line 68
// Might return incorrect value if values greater than u32::MAX are cast.// Might panic if values greater than u32::MAX are cast. - replacement in rust/nth-prime/src/lib.rs at line 77
// Might return incorrect value if values greater than u32::MAX are cast.// Might panic if values greater than u32::MAX are cast.