trackler 2.2.1.179 → 2.2.1.180
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/yacht/description.md +14 -13
- data/tracks/ballerina/config.json +1 -0
- data/tracks/coffeescript/config.json +138 -41
- data/tracks/coffeescript/docs/ABOUT.md +3 -7
- data/tracks/coq/config.json +1 -0
- data/tracks/d/config.json +1 -0
- data/tracks/dart/config.json +1 -0
- data/tracks/elixir/config.json +17 -16
- data/tracks/elixir/docs/ABOUT.md +10 -2
- data/tracks/fortran/config.json +1 -0
- data/tracks/gnu-apl/config.json +1 -0
- data/tracks/go/config.json +13 -0
- data/tracks/go/exercises/list-ops/README.md +27 -0
- data/tracks/go/exercises/list-ops/example.go +99 -0
- data/tracks/go/exercises/list-ops/listops_test.go +291 -0
- data/tracks/groovy/config.json +1 -0
- data/tracks/haxe/config.json +1 -0
- data/tracks/perl5/exercises/leap/.meta/exercise-data.yaml +3 -5
- data/tracks/perl5/exercises/leap/.meta/solutions/Leap.pm +2 -4
- data/tracks/perl5/exercises/leap/Leap.pm +1 -1
- data/tracks/perl5/exercises/leap/leap.t +2 -2
- data/tracks/php/config.json +1 -0
- data/tracks/plsql/config.json +1 -0
- data/tracks/pony/config.json +1 -0
- data/tracks/purescript/config.json +1 -0
- data/tracks/reasonml/config/exercise_readme.go.tmpl +18 -2
- data/tracks/reasonml/exercises/anagram/README.md +15 -4
- data/tracks/reasonml/exercises/armstrong-numbers/README.md +3 -4
- data/tracks/reasonml/exercises/binary-search/README.md +14 -7
- data/tracks/reasonml/exercises/bob/README.md +14 -6
- data/tracks/reasonml/exercises/change/README.md +2 -4
- data/tracks/reasonml/exercises/hello-world/README.md +2 -3
- data/tracks/reasonml/exercises/isogram/README.md +4 -6
- data/tracks/reasonml/exercises/leap/README.md +14 -4
- data/tracks/reasonml/exercises/pangram/README.md +13 -3
- data/tracks/reasonml/exercises/phone-number/README.md +15 -7
- data/tracks/reasonml/exercises/raindrops/README.md +14 -7
- data/tracks/reasonml/exercises/rna-transcription/README.md +13 -3
- data/tracks/reasonml/exercises/roman-numerals/README.md +4 -8
- data/tracks/reasonml/exercises/run-length-encoding/README.md +14 -7
- data/tracks/reasonml/exercises/space-age/README.md +13 -3
- data/tracks/reasonml/exercises/word-count/README.md +18 -8
- data/tracks/rust/.travis.yml +1 -0
- data/tracks/rust/_test/check-exercises-for-authors.sh +10 -0
- data/tracks/rust/bin/format_exercises +2 -0
- data/tracks/rust/exercises/accumulate/Cargo.toml +0 -1
- data/tracks/rust/exercises/accumulate/example.rs +4 -1
- data/tracks/rust/exercises/acronym/example.rs +6 -5
- data/tracks/rust/exercises/acronym/tests/acronym.rs +1 -1
- data/tracks/rust/exercises/all-your-base/example.rs +8 -2
- data/tracks/rust/exercises/allergies/example.rs +28 -6
- data/tracks/rust/exercises/alphametics/example.rs +18 -10
- data/tracks/rust/exercises/anagram/example.rs +8 -4
- data/tracks/rust/exercises/atbash-cipher/example.rs +15 -15
- data/tracks/rust/exercises/beer-song/example.rs +18 -12
- data/tracks/rust/exercises/binary-search/Cargo.toml +0 -1
- data/tracks/rust/exercises/binary-search/example.rs +3 -4
- data/tracks/rust/exercises/bob/example.rs +11 -5
- data/tracks/rust/exercises/book-store/Cargo-example.toml +0 -1
- data/tracks/rust/exercises/book-store/Cargo.toml +0 -1
- data/tracks/rust/exercises/book-store/example.rs +15 -19
- data/tracks/rust/exercises/bowling/example.rs +3 -1
- data/tracks/rust/exercises/bracket-push/example.rs +7 -2
- data/tracks/rust/exercises/circular-buffer/example.rs +1 -1
- data/tracks/rust/exercises/clock/.meta/ALLOWED_TO_NOT_COMPILE +3 -0
- data/tracks/rust/exercises/clock/Cargo.toml +0 -1
- data/tracks/rust/exercises/clock/example.rs +5 -3
- data/tracks/rust/exercises/clock/src/lib.rs +14 -0
- data/tracks/rust/exercises/collatz-conjecture/example.rs +2 -2
- data/tracks/rust/exercises/crypto-square/Cargo-example.toml +0 -1
- data/tracks/rust/exercises/crypto-square/Cargo.toml +0 -1
- data/tracks/rust/exercises/custom-set/example.rs +17 -15
- data/tracks/rust/exercises/decimal/Cargo-example.toml +0 -1
- data/tracks/rust/exercises/decimal/Cargo.toml +0 -1
- data/tracks/rust/exercises/decimal/example.rs +5 -5
- data/tracks/rust/exercises/diamond/Cargo.toml +0 -1
- data/tracks/rust/exercises/difference-of-squares/example.rs +1 -1
- data/tracks/rust/exercises/dominoes/example.rs +20 -19
- data/tracks/rust/exercises/etl/example.rs +4 -3
- data/tracks/rust/exercises/forth/example.rs +29 -45
- data/tracks/rust/exercises/grade-school/example.rs +4 -2
- data/tracks/rust/exercises/hexadecimal/example.rs +2 -4
- data/tracks/rust/exercises/isbn-verifier/example.rs +5 -6
- data/tracks/rust/exercises/isbn-verifier/tests/isbn-verifier.rs +12 -0
- data/tracks/rust/exercises/isogram/example.rs +9 -3
- data/tracks/rust/exercises/largest-series-product/example.rs +2 -1
- data/tracks/rust/exercises/luhn-from/example.rs +3 -1
- data/tracks/rust/exercises/luhn/example.rs +5 -3
- data/tracks/rust/exercises/macros/Cargo.toml +0 -1
- data/tracks/rust/exercises/nth-prime/Cargo.toml +0 -1
- data/tracks/rust/exercises/nth-prime/example.rs +6 -6
- data/tracks/rust/exercises/nucleotide-codons/Cargo.toml +0 -1
- data/tracks/rust/exercises/nucleotide-codons/example.rs +23 -17
- data/tracks/rust/exercises/nucleotide-count/example.rs +15 -5
- data/tracks/rust/exercises/nucleotide-count/src/lib.rs +15 -0
- data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +3 -3
- data/tracks/rust/exercises/palindrome-products/Cargo.toml +0 -1
- data/tracks/rust/exercises/pangram/example.rs +6 -6
- data/tracks/rust/exercises/parallel-letter-frequency/example.rs +7 -4
- data/tracks/rust/exercises/pascals-triangle/example.rs +6 -2
- data/tracks/rust/exercises/perfect-numbers/example.rs +2 -2
- data/tracks/rust/exercises/phone-number/example.rs +11 -15
- data/tracks/rust/exercises/pig-latin/Cargo-example.toml +0 -1
- data/tracks/rust/exercises/pig-latin/Cargo.toml +0 -1
- data/tracks/rust/exercises/pig-latin/example.rs +6 -2
- data/tracks/rust/exercises/poker/Cargo-example.toml +0 -1
- data/tracks/rust/exercises/poker/Cargo.toml +0 -1
- data/tracks/rust/exercises/poker/example.rs +9 -8
- data/tracks/rust/exercises/prime-factors/Cargo.toml +0 -1
- data/tracks/rust/exercises/prime-factors/example.rs +1 -1
- data/tracks/rust/exercises/protein-translation/Cargo.toml +0 -1
- data/tracks/rust/exercises/protein-translation/example.rs +6 -5
- data/tracks/rust/exercises/proverb/Cargo.toml +0 -1
- data/tracks/rust/exercises/proverb/example.rs +0 -1
- data/tracks/rust/exercises/pythagorean-triplet/Cargo.toml +0 -1
- data/tracks/rust/exercises/pythagorean-triplet/example.rs +3 -3
- data/tracks/rust/exercises/queen-attack/example.rs +3 -3
- data/tracks/rust/exercises/react/example.rs +61 -29
- data/tracks/rust/exercises/reverse-string/Cargo.toml +0 -1
- data/tracks/rust/exercises/rna-transcription/example.rs +17 -9
- data/tracks/rust/exercises/robot-name/example.rs +4 -3
- data/tracks/rust/exercises/robot-simulator/example.rs +5 -2
- data/tracks/rust/exercises/roman-numerals/example.rs +15 -14
- data/tracks/rust/exercises/rotational-cipher/Cargo.toml +0 -1
- data/tracks/rust/exercises/rotational-cipher/example.rs +10 -14
- data/tracks/rust/exercises/rotational-cipher/src/lib.rs +7 -1
- data/tracks/rust/exercises/run-length-encoding/Cargo.toml +0 -1
- data/tracks/rust/exercises/run-length-encoding/example.rs +34 -29
- data/tracks/rust/exercises/saddle-points/example.rs +0 -1
- data/tracks/rust/exercises/say/Cargo.toml +0 -1
- data/tracks/rust/exercises/say/example.rs +34 -8
- data/tracks/rust/exercises/series/example.rs +6 -8
- data/tracks/rust/exercises/simple-linked-list/example.rs +0 -2
- data/tracks/rust/exercises/spiral-matrix/example.rs +0 -1
- data/tracks/rust/exercises/tournament/example.rs +33 -20
- data/tracks/rust/exercises/triangle/example.rs +1 -1
- data/tracks/rust/exercises/two-bucket/example.rs +2 -6
- data/tracks/rust/exercises/two-fer/example.rs +3 -3
- data/tracks/rust/exercises/variable-length-quantity/example.rs +2 -3
- data/tracks/rust/exercises/word-count/example.rs +4 -1
- data/tracks/rust/exercises/wordy/example.rs +10 -4
- metadata +7 -2
@@ -15,7 +15,7 @@ use std::collections::{HashSet, VecDeque};
|
|
15
15
|
#[derive(PartialEq, Eq, Debug)]
|
16
16
|
pub enum Bucket {
|
17
17
|
One,
|
18
|
-
Two
|
18
|
+
Two,
|
19
19
|
}
|
20
20
|
|
21
21
|
/// A struct to hold your results in.
|
@@ -31,11 +31,7 @@ pub struct BucketStats {
|
|
31
31
|
}
|
32
32
|
|
33
33
|
/// Solve the bucket problem
|
34
|
-
pub fn solve(capacity_1: u8,
|
35
|
-
capacity_2: u8,
|
36
|
-
goal: u8,
|
37
|
-
start_bucket: &Bucket) -> BucketStats
|
38
|
-
{
|
34
|
+
pub fn solve(capacity_1: u8, capacity_2: u8, goal: u8, start_bucket: &Bucket) -> BucketStats {
|
39
35
|
let state = match *start_bucket {
|
40
36
|
Bucket::One => (capacity_1, 0),
|
41
37
|
Bucket::Two => (0, capacity_2),
|
@@ -77,7 +77,7 @@ fn to_bytes_single(mut value: u32) -> Vec<u8> {
|
|
77
77
|
pub fn from_bytes(bytes: &[u8]) -> Result<Vec<u32>, Error> {
|
78
78
|
let mut res = vec![];
|
79
79
|
let mut tmp = 0;
|
80
|
-
for (i,b) in bytes.iter().enumerate() {
|
80
|
+
for (i, b) in bytes.iter().enumerate() {
|
81
81
|
// test if first 7 bit are set, to check for overflow
|
82
82
|
if (tmp & 0xfe_00_00_00) > 0 {
|
83
83
|
return Err(Error::Overflow);
|
@@ -92,7 +92,7 @@ pub fn from_bytes(bytes: &[u8]) -> Result<Vec<u32>, Error> {
|
|
92
92
|
tmp = 0;
|
93
93
|
} else {
|
94
94
|
// check for incomplete bytes
|
95
|
-
if i+1 == bytes.len() {
|
95
|
+
if i + 1 == bytes.len() {
|
96
96
|
// the next index would be past the end,
|
97
97
|
// i.e. there are no more bytes.
|
98
98
|
return Err(Error::IncompleteNumber);
|
@@ -100,6 +100,5 @@ pub fn from_bytes(bytes: &[u8]) -> Result<Vec<u32>, Error> {
|
|
100
100
|
}
|
101
101
|
}
|
102
102
|
|
103
|
-
|
104
103
|
Ok(res)
|
105
104
|
}
|
@@ -4,7 +4,10 @@ pub fn word_count(input: &str) -> HashMap<String, u32> {
|
|
4
4
|
let mut map: HashMap<String, u32> = HashMap::new();
|
5
5
|
let lower = input.to_lowercase();
|
6
6
|
let slice: &str = lower.as_ref();
|
7
|
-
for word in slice
|
7
|
+
for word in slice
|
8
|
+
.split(|c: char| !c.is_alphanumeric())
|
9
|
+
.filter(|s| !s.is_empty())
|
10
|
+
{
|
8
11
|
*map.entry(word.to_string()).or_insert(0) += 1;
|
9
12
|
}
|
10
13
|
map
|
@@ -18,14 +18,18 @@ impl Token {
|
|
18
18
|
}
|
19
19
|
|
20
20
|
fn is_operator(&self) -> bool {
|
21
|
-
self.value == String::from("plus")
|
22
|
-
|
21
|
+
self.value == String::from("plus")
|
22
|
+
|| self.value == String::from("minus")
|
23
|
+
|| self.value == String::from("multiplied")
|
24
|
+
|| self.value == String::from("divided")
|
23
25
|
}
|
24
26
|
}
|
25
27
|
|
26
28
|
impl WordProblem {
|
27
29
|
pub fn new(c: &str) -> Self {
|
28
|
-
WordProblem {
|
30
|
+
WordProblem {
|
31
|
+
command: String::from(c),
|
32
|
+
}
|
29
33
|
}
|
30
34
|
|
31
35
|
pub fn answer(&self) -> Result<isize, ()> {
|
@@ -74,7 +78,9 @@ impl WordProblem {
|
|
74
78
|
fn tokens(&self) -> Vec<Token> {
|
75
79
|
self.command
|
76
80
|
.split(|c: char| c.is_whitespace() || c == '?')
|
77
|
-
.map(|w| Token {
|
81
|
+
.map(|w| Token {
|
82
|
+
value: String::from(w),
|
83
|
+
})
|
78
84
|
.filter(|t| t.is_valid())
|
79
85
|
.collect()
|
80
86
|
}
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.1.
|
4
|
+
version: 2.2.1.180
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-07-
|
11
|
+
date: 2018-07-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubyzip
|
@@ -6451,6 +6451,9 @@ files:
|
|
6451
6451
|
- tracks/go/exercises/linked-list/cases_test.go
|
6452
6452
|
- tracks/go/exercises/linked-list/example.go
|
6453
6453
|
- tracks/go/exercises/linked-list/linked_list_test.go
|
6454
|
+
- tracks/go/exercises/list-ops/README.md
|
6455
|
+
- tracks/go/exercises/list-ops/example.go
|
6456
|
+
- tracks/go/exercises/list-ops/listops_test.go
|
6454
6457
|
- tracks/go/exercises/luhn/.meta/gen.go
|
6455
6458
|
- tracks/go/exercises/luhn/README.md
|
6456
6459
|
- tracks/go/exercises/luhn/cases_test.go
|
@@ -13251,6 +13254,7 @@ files:
|
|
13251
13254
|
- tracks/rust/README.md
|
13252
13255
|
- tracks/rust/_test/WINDOWS_README.md
|
13253
13256
|
- tracks/rust/_test/check-configlet-fmt.sh
|
13257
|
+
- tracks/rust/_test/check-exercises-for-authors.sh
|
13254
13258
|
- tracks/rust/_test/check-exercises.sh
|
13255
13259
|
- tracks/rust/_test/check-stubs.sh
|
13256
13260
|
- tracks/rust/_test/count-ignores.sh
|
@@ -13367,6 +13371,7 @@ files:
|
|
13367
13371
|
- tracks/rust/exercises/circular-buffer/src/lib.rs
|
13368
13372
|
- tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs
|
13369
13373
|
- tracks/rust/exercises/clock/.gitignore
|
13374
|
+
- tracks/rust/exercises/clock/.meta/ALLOWED_TO_NOT_COMPILE
|
13370
13375
|
- tracks/rust/exercises/clock/.meta/hints.md
|
13371
13376
|
- tracks/rust/exercises/clock/Cargo.toml
|
13372
13377
|
- tracks/rust/exercises/clock/README.md
|