7: Add solution for Rust track exercise "Raindrops".

[?]
Aaw9nJhsNmfzFih9mKyNw9mV8CgERXJkRa1kK1Kx3LQH
Aug 16, 2021, 1:01 PM
N3POGH26YQYAWWXIKGYBLDKGNM45LYCNGR74ATFYJOHQXP373WJQC

Dependencies

  • [2] MSFESBT6 6: Add Rust track exercise "Raindrops".

Change contents

  • replacement in rust/raindrops/tests/raindrops.rs at line 3
    [2.100][2.100:146]()
    assert_eq!("1", raindrops::raindrops(1));
    [2.100]
    [2.146]
    assert_eq!("1", raindrops::raindrops(1));
  • replacement in rust/raindrops/tests/raindrops.rs at line 9
    [2.181][2.181:231]()
    assert_eq!("Pling", raindrops::raindrops(3));
    [2.181]
    [2.231]
    assert_eq!("Pling", raindrops::raindrops(3));
  • replacement in rust/raindrops/tests/raindrops.rs at line 15
    [2.266][2.266:316]()
    assert_eq!("Plang", raindrops::raindrops(5));
    [2.266]
    [2.316]
    assert_eq!("Plang", raindrops::raindrops(5));
  • replacement in rust/raindrops/tests/raindrops.rs at line 21
    [2.351][2.351:401]()
    assert_eq!("Plong", raindrops::raindrops(7));
    [2.351]
    [2.401]
    assert_eq!("Plong", raindrops::raindrops(7));
  • replacement in rust/raindrops/tests/raindrops.rs at line 27
    [2.436][2.436:486]()
    assert_eq!("Pling", raindrops::raindrops(6));
    [2.436]
    [2.486]
    assert_eq!("Pling", raindrops::raindrops(6));
  • replacement in rust/raindrops/tests/raindrops.rs at line 33
    [2.521][2.521:567]()
    assert_eq!("8", raindrops::raindrops(8));
    [2.521]
    [2.567]
    assert_eq!("8", raindrops::raindrops(8));
  • replacement in rust/raindrops/tests/raindrops.rs at line 39
    [2.602][2.602:652]()
    assert_eq!("Pling", raindrops::raindrops(9));
    [2.602]
    [2.652]
    assert_eq!("Pling", raindrops::raindrops(9));
  • replacement in rust/raindrops/tests/raindrops.rs at line 45
    [2.688][2.688:739]()
    assert_eq!("Plang", raindrops::raindrops(10));
    [2.688]
    [2.739]
    assert_eq!("Plang", raindrops::raindrops(10));
  • replacement in rust/raindrops/tests/raindrops.rs at line 51
    [2.775][2.775:826]()
    assert_eq!("Plong", raindrops::raindrops(14));
    [2.775]
    [2.826]
    assert_eq!("Plong", raindrops::raindrops(14));
  • replacement in rust/raindrops/tests/raindrops.rs at line 57
    [2.862][2.862:918]()
    assert_eq!("PlingPlang", raindrops::raindrops(15));
    [2.862]
    [2.918]
    assert_eq!("PlingPlang", raindrops::raindrops(15));
  • replacement in rust/raindrops/tests/raindrops.rs at line 63
    [2.954][2.954:1010]()
    assert_eq!("PlingPlong", raindrops::raindrops(21));
    [2.954]
    [2.1010]
    assert_eq!("PlingPlong", raindrops::raindrops(21));
  • replacement in rust/raindrops/tests/raindrops.rs at line 69
    [2.1046][2.1046:1097]()
    assert_eq!("Plang", raindrops::raindrops(25));
    [2.1046]
    [2.1097]
    assert_eq!("Plang", raindrops::raindrops(25));
  • replacement in rust/raindrops/tests/raindrops.rs at line 75
    [2.1133][2.1133:1184]()
    assert_eq!("Pling", raindrops::raindrops(27));
    [2.1133]
    [2.1184]
    assert_eq!("Pling", raindrops::raindrops(27));
  • replacement in rust/raindrops/tests/raindrops.rs at line 81
    [2.1220][2.1220:1276]()
    assert_eq!("PlangPlong", raindrops::raindrops(35));
    [2.1220]
    [2.1276]
    assert_eq!("PlangPlong", raindrops::raindrops(35));
  • replacement in rust/raindrops/tests/raindrops.rs at line 87
    [2.1312][2.1312:1363]()
    assert_eq!("Plong", raindrops::raindrops(49));
    [2.1312]
    [2.1363]
    assert_eq!("Plong", raindrops::raindrops(49));
  • replacement in rust/raindrops/tests/raindrops.rs at line 93
    [2.1399][2.1399:1447]()
    assert_eq!("52", raindrops::raindrops(52));
    [2.1399]
    [2.1447]
    assert_eq!("52", raindrops::raindrops(52));
  • replacement in rust/raindrops/tests/raindrops.rs at line 99
    [2.1484][2.1484:1546]()
    assert_eq!("PlingPlangPlong", raindrops::raindrops(105));
    [2.1484]
    [2.1546]
    assert_eq!("PlingPlangPlong", raindrops::raindrops(105));
  • replacement in rust/raindrops/tests/raindrops.rs at line 105
    [2.1584][2.1584:1637]()
    assert_eq!("Plang", raindrops::raindrops(3125));
    [2.1584]
    [2.1637]
    assert_eq!("Plang", raindrops::raindrops(3125));
  • replacement in rust/raindrops/tests/raindrops.rs at line 111
    [2.1676][2.1676:1731]()
    assert_eq!("12121", raindrops::raindrops(12_121));
    [2.1676]
    [2.1731]
    assert_eq!("12121", raindrops::raindrops(12_121));
  • replacement in rust/raindrops/src/lib.rs at line 2
    [2.1819][2.1819:1879]()
    unimplemented!("what sound does Raindrop #{} make?", n)
    [2.1819]
    [2.1879]
    let a = move |b: u32| if b == 0 { false } else { n % b == 0 };
    let (b, c, d) = (a(3), a(5), a(7));
    if b || c || d {
    format!(
    "{}{}{}",
    if b { "Pling" } else { "" },
    if c { "Plang" } else { "" },
    if d { "Plong" } else { "" }
    )
    } else {
    n.to_string()
    }