trackler 2.0.3.0 → 2.0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/fixtures/common/exercises/no-metadata/description.md +1 -0
- data/lib/trackler/problem.rb +12 -0
- data/lib/trackler/problems.rb +8 -12
- data/lib/trackler/version.rb +1 -1
- data/tracks/bash/README.md +2 -0
- data/tracks/c/config.json +9 -2
- data/tracks/c/exercises/sieve/makefile +15 -0
- data/tracks/c/exercises/sieve/src/example.c +50 -0
- data/tracks/c/exercises/sieve/src/sieve.h +10 -0
- data/tracks/c/exercises/sieve/test/test_sieve.c +113 -0
- data/tracks/c/exercises/sieve/test/vendor/unity.c +1300 -0
- data/tracks/c/exercises/sieve/test/vendor/unity.h +274 -0
- data/tracks/c/exercises/sieve/test/vendor/unity_internals.h +701 -0
- data/tracks/coffeescript/.travis.yml +1 -0
- data/tracks/coldfusion/.travis.yml +1 -0
- data/tracks/crystal/Makefile +18 -15
- data/tracks/crystal/README.md +5 -5
- data/tracks/crystal/config.json +6 -0
- data/tracks/crystal/exercises/acronym/src/acronym.cr +1 -0
- data/tracks/crystal/exercises/anagram/src/anagram.cr +1 -0
- data/tracks/crystal/exercises/atbash-cipher/src/atbash_cipher.cr +1 -0
- data/tracks/crystal/exercises/binary/src/binary.cr +1 -0
- data/tracks/crystal/exercises/bob/src/bob.cr +1 -0
- data/tracks/crystal/exercises/bracket-push/src/bracket_push.cr +1 -0
- data/tracks/crystal/exercises/difference-of-squares/spec/difference_of_squares_spec.cr +44 -0
- data/tracks/crystal/exercises/difference-of-squares/src/example.cr +15 -0
- data/tracks/crystal/exercises/forth/src/forth.cr +1 -0
- data/tracks/crystal/exercises/gigasecond/src/gigasecond.cr +1 -0
- data/tracks/crystal/exercises/hamming/src/hamming.cr +1 -0
- data/tracks/crystal/exercises/hello-world/src/hello_world.cr +1 -0
- data/tracks/crystal/exercises/largest-series-product/src/largest_series_product.cr +1 -0
- data/tracks/crystal/exercises/leap/src/leap.cr +1 -0
- data/tracks/crystal/exercises/pangram/src/pangram.cr +1 -0
- data/tracks/crystal/exercises/raindrops/src/raindrops.cr +1 -0
- data/tracks/crystal/exercises/react/src/react.cr +1 -0
- data/tracks/crystal/exercises/rna-transcription/src/rna_transcription.cr +1 -0
- data/tracks/crystal/exercises/roman-numerals/src/roman_numerals.cr +1 -0
- data/tracks/crystal/exercises/sieve/src/sieve.cr +1 -0
- data/tracks/crystal/src/generator/exercises/difference_of_squares.cr +39 -0
- data/tracks/go/exercises/allergies/allergies_test.go +2 -2
- data/tracks/go/exercises/anagram/anagram_test.go +3 -3
- data/tracks/go/exercises/grade-school/grade_school_test.go +3 -3
- data/tracks/go/exercises/secret-handshake/secret_handshake_test.go +1 -1
- data/tracks/java/config.json +13 -1
- data/tracks/java/exercises/binary-search-tree/build.gradle +18 -0
- data/tracks/java/exercises/binary-search-tree/src/example/java/BST.java +122 -0
- data/tracks/java/exercises/binary-search-tree/src/main/java/.keep +0 -0
- data/tracks/java/exercises/binary-search-tree/src/test/java/.keep +0 -0
- data/tracks/java/exercises/binary-search-tree/src/test/java/BSTTest.java +163 -0
- data/tracks/java/exercises/pythagorean-triplet/build.gradle +18 -0
- data/tracks/java/exercises/pythagorean-triplet/src/example/java/PythagoreanTriplet.java +117 -0
- data/tracks/java/exercises/pythagorean-triplet/src/main/java/PythagoreanTriplet.java +3 -0
- data/tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java +95 -0
- data/tracks/java/exercises/settings.gradle +2 -0
- data/tracks/julia/README.md +16 -0
- data/tracks/perl5/README.md +2 -0
- data/tracks/perl6/README.md +2 -1
- data/tracks/php/config.json +5 -0
- data/tracks/php/exercises/sieve/example.php +29 -0
- data/tracks/php/exercises/sieve/sieve_test.php +201 -0
- data/tracks/pony/.travis.yml +1 -0
- data/tracks/python/exercises/anagram/anagram_test.py +1 -0
- data/tracks/python/exercises/beer-song/beer_song_test.py +1 -0
- data/tracks/python/exercises/binary-search/binary_search_test.py +1 -0
- data/tracks/python/exercises/binary/binary_test.py +1 -0
- data/tracks/python/exercises/bob/bob_test.py +1 -0
- data/tracks/python/exercises/clock/clock_test.py +1 -0
- data/tracks/python/exercises/etl/etl_test.py +1 -0
- data/tracks/python/exercises/gigasecond/gigasecond_test.py +1 -0
- data/tracks/python/exercises/grains/grains_test.py +1 -0
- data/tracks/python/exercises/leap/leap_test.py +1 -0
- data/tracks/python/exercises/meetup/meetup_test.py +1 -0
- data/tracks/python/exercises/nucleotide-count/nucleotide_count_test.py +1 -0
- data/tracks/python/exercises/ocr-numbers/example.py +1 -0
- data/tracks/python/exercises/ocr-numbers/ocr_test.py +1 -0
- data/tracks/python/exercises/perfect-numbers/perfect_numbers_test.py +1 -0
- data/tracks/python/exercises/phone-number/phone_number_test.py +1 -0
- data/tracks/python/exercises/pig-latin/pig_latin_test.py +1 -0
- data/tracks/python/exercises/point-mutations/point_mutations_test.py +1 -0
- data/tracks/python/exercises/poker/poker_test.py +1 -0
- data/tracks/python/exercises/prime-factors/prime_factors_test.py +1 -0
- data/tracks/python/exercises/pythagorean-triplet/example.py +2 -3
- data/tracks/python/exercises/rail-fence-cipher/rail_fence_cipher_test.py +1 -0
- data/tracks/python/exercises/raindrops/raindrops_test.py +1 -0
- data/tracks/python/exercises/rectangles/rectangles_count_test.py +1 -0
- data/tracks/python/exercises/robot-simulator/robot_simulator_test.py +1 -0
- data/tracks/python/exercises/roman-numerals/roman_numerals_test.py +1 -0
- data/tracks/python/exercises/run-length-encoding/run_length_test.py +1 -0
- data/tracks/python/exercises/say/say_test.py +1 -0
- data/tracks/python/exercises/scrabble-score/scrabble_score_test.py +1 -0
- data/tracks/python/exercises/sieve/sieve_test.py +1 -0
- data/tracks/python/exercises/space-age/space_age_test.py +1 -0
- data/tracks/python/exercises/triangle/triangle_test.py +1 -0
- data/tracks/python/exercises/word-count/word_count_test.py +1 -0
- data/tracks/python/requirements-travis.txt +1 -1
- data/tracks/ruby/docs/24pullrequests.md +21 -0
- data/tracks/ruby/exercises/bowling/.version +1 -1
- data/tracks/ruby/exercises/bowling/bowling_test.rb +44 -15
- data/tracks/ruby/exercises/bowling/example.rb +10 -5
- data/tracks/ruby/exercises/bowling/example.tt +4 -2
- data/tracks/ruby/lib/bowling_cases.rb +1 -1
- data/tracks/scala/exercises/bank-account/HINTS.md +11 -0
- data/tracks/scala/exercises/bank-account/example.scala +2 -4
- data/tracks/scala/exercises/bank-account/src/main/scala/BankAccount.scala +13 -0
- data/tracks/scala/exercises/bank-account/src/test/scala/BankAccountTest.scala +5 -5
- data/tracks/scala/exercises/hamming/HINTS.md +57 -0
- data/tracks/scala/exercises/hello-world/HINTS.md +8 -0
- data/tracks/scala/exercises/nucleotide-count/HINTS.md +61 -0
- metadata +48 -2
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## Hints
|
|
2
|
+
For this exercise two Scala features come in handy:
|
|
3
|
+
- [Default Parameter Values](http://docs.scala-lang.org/tutorials/tour/default-parameter-values.html)
|
|
4
|
+
- [String Interpolation](http://docs.scala-lang.org/overviews/core/string-interpolation.html)
|
|
5
|
+
|
|
6
|
+
#### Common pitfalls that you should avoid
|
|
7
|
+
- `null` is usually not considered a valid value in Scala, and there are no `null` checks needed (if you don't have to interface with Java code, say). Instead there is the [Option](http://danielwestheide.com/blog/2012/12/19/the-neophytes-guide-to-scala-part-5-the-option-type.html) type if you want to express the possible absence of a value. But for this exercise just assume a normal non-`null` String parameter.
|
|
8
|
+
- Usually there is no need in Scala to use `return`. For a discussion see [here](http://stackoverflow.com/questions/24856106/return-in-a-scala-function-literal). Or as a quote from that discussion: *Don't use return, it makes Scala cry.*
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
## Hints
|
|
2
|
+
A common use of `Either` is to indicate a computation that may possibly result in an error
|
|
3
|
+
(if the actual error is of no interest then the simpler `Option` type might be a better choice).
|
|
4
|
+
In the absence of an error the result is usually a `Right` (mnemonic: the "right" value)
|
|
5
|
+
whereas an error is a `Left`, for example a `Left[String]` containing an error message.
|
|
6
|
+
Note that in Scala `Either` is unbiased, so you have to make it biased with a `RightProjection` using `Either.right`.
|
|
7
|
+
If you are unfamiliar with `Either` you may read [this tutorial](http://danielwestheide.com/blog/2013/01/02/the-neophytes-guide-to-scala-part-7-the-either-type.html).
|
|
8
|
+
`Either` (or its `RightProjection` to be more exact) is a so-called [Monad](https://en.wikipedia.org/wiki/Monad_(functional_programming)) which
|
|
9
|
+
covers a "computational aspect", in this case error handling.
|
|
10
|
+
Proper use of Monads can result in very concise yet elegant
|
|
11
|
+
and readable code. Improper use can easily result in the contrary.
|
|
12
|
+
Watch [this video](https://www.youtube.com/watch?v=Mw_Jnn_Y5iA) to learn more.
|
|
13
|
+
#### Common pitfalls that you should avoid
|
|
14
|
+
There are a few rules of thumbs for `Either`:
|
|
15
|
+
1. If you don't need it don't use it. Instead of
|
|
16
|
+
```scala
|
|
17
|
+
def add1(x: Int): Either[String, Int] = Right(x + 1)
|
|
18
|
+
```
|
|
19
|
+
better have
|
|
20
|
+
```scala
|
|
21
|
+
def add1(x: Int): Int = x + 1
|
|
22
|
+
```
|
|
23
|
+
(there is `RightProjection.map` to apply such simple functions,
|
|
24
|
+
so you don't have to clutter them with `Either`).
|
|
25
|
+
2. Don't "unwrap" if you don't really need to.
|
|
26
|
+
Often there are built-in functions for your purpose. Indicators of premature
|
|
27
|
+
unwrapping are `isLeft/isRight` or pattern matching. For example, instead of
|
|
28
|
+
```scala
|
|
29
|
+
val x: Either[String, Int] = ...
|
|
30
|
+
|
|
31
|
+
if (x.isRight) x.right.get + 1 else x.left.get
|
|
32
|
+
// or
|
|
33
|
+
x match {
|
|
34
|
+
case Right(n) => n + 1
|
|
35
|
+
case Left(s) => s
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
better have
|
|
39
|
+
```scala
|
|
40
|
+
x fold (identity, _ + 1)
|
|
41
|
+
```
|
|
42
|
+
3. Monads can be used inside a for-comprehension FTW.
|
|
43
|
+
This is advisable when you want to "compose" several `Either` instances. Instead of
|
|
44
|
+
```scala
|
|
45
|
+
val xo: Either[String, Int] = ...
|
|
46
|
+
val yo: Either[String, Int] = ...
|
|
47
|
+
val zo: Either[String, Int] = ...
|
|
48
|
+
|
|
49
|
+
xo.right.flatMap(x =>
|
|
50
|
+
yo.right.flatMap(y =>
|
|
51
|
+
zo.right.map(z =>
|
|
52
|
+
x + y + z)))
|
|
53
|
+
```
|
|
54
|
+
better have
|
|
55
|
+
```scala
|
|
56
|
+
for {
|
|
57
|
+
x <- xo.right
|
|
58
|
+
y <- yo.right
|
|
59
|
+
z <- zo.right
|
|
60
|
+
} yield x + y + z
|
|
61
|
+
```
|
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.0.3.
|
|
4
|
+
version: 2.0.3.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Katrina Owen
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-
|
|
11
|
+
date: 2016-12-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rubyzip
|
|
@@ -418,6 +418,7 @@ files:
|
|
|
418
418
|
- fixtures/common/exercises/mango/canonical-data.json
|
|
419
419
|
- fixtures/common/exercises/mango/description.md
|
|
420
420
|
- fixtures/common/exercises/mango/metadata.yml
|
|
421
|
+
- fixtures/common/exercises/no-metadata/description.md
|
|
421
422
|
- fixtures/common/exercises/one/description.md
|
|
422
423
|
- fixtures/common/exercises/one/metadata.yml
|
|
423
424
|
- fixtures/common/exercises/three/description.md
|
|
@@ -676,6 +677,13 @@ files:
|
|
|
676
677
|
- tracks/c/exercises/series/test/vendor/unity.c
|
|
677
678
|
- tracks/c/exercises/series/test/vendor/unity.h
|
|
678
679
|
- tracks/c/exercises/series/test/vendor/unity_internals.h
|
|
680
|
+
- tracks/c/exercises/sieve/makefile
|
|
681
|
+
- tracks/c/exercises/sieve/src/example.c
|
|
682
|
+
- tracks/c/exercises/sieve/src/sieve.h
|
|
683
|
+
- tracks/c/exercises/sieve/test/test_sieve.c
|
|
684
|
+
- tracks/c/exercises/sieve/test/vendor/unity.c
|
|
685
|
+
- tracks/c/exercises/sieve/test/vendor/unity.h
|
|
686
|
+
- tracks/c/exercises/sieve/test/vendor/unity_internals.h
|
|
679
687
|
- tracks/c/exercises/sum-of-multiples/makefile
|
|
680
688
|
- tracks/c/exercises/sum-of-multiples/src/example.c
|
|
681
689
|
- tracks/c/exercises/sum-of-multiples/src/example.h
|
|
@@ -1138,45 +1146,66 @@ files:
|
|
|
1138
1146
|
- tracks/crystal/docs/RESOURCES.md
|
|
1139
1147
|
- tracks/crystal/docs/TESTS.md
|
|
1140
1148
|
- tracks/crystal/exercises/acronym/spec/acronym_spec.cr
|
|
1149
|
+
- tracks/crystal/exercises/acronym/src/acronym.cr
|
|
1141
1150
|
- tracks/crystal/exercises/acronym/src/example.cr
|
|
1142
1151
|
- tracks/crystal/exercises/anagram/spec/anagram_spec.cr
|
|
1152
|
+
- tracks/crystal/exercises/anagram/src/anagram.cr
|
|
1143
1153
|
- tracks/crystal/exercises/anagram/src/example.cr
|
|
1144
1154
|
- tracks/crystal/exercises/atbash-cipher/spec/atbash_cipher_spec.cr
|
|
1155
|
+
- tracks/crystal/exercises/atbash-cipher/src/atbash_cipher.cr
|
|
1145
1156
|
- tracks/crystal/exercises/atbash-cipher/src/example.cr
|
|
1146
1157
|
- tracks/crystal/exercises/binary/spec/binary_spec.cr
|
|
1158
|
+
- tracks/crystal/exercises/binary/src/binary.cr
|
|
1147
1159
|
- tracks/crystal/exercises/binary/src/example.cr
|
|
1148
1160
|
- tracks/crystal/exercises/bob/spec/bob_spec.cr
|
|
1161
|
+
- tracks/crystal/exercises/bob/src/bob.cr
|
|
1149
1162
|
- tracks/crystal/exercises/bob/src/example.cr
|
|
1150
1163
|
- tracks/crystal/exercises/bracket-push/spec/bracket_push_spec.cr
|
|
1164
|
+
- tracks/crystal/exercises/bracket-push/src/bracket_push.cr
|
|
1151
1165
|
- tracks/crystal/exercises/bracket-push/src/example.cr
|
|
1166
|
+
- tracks/crystal/exercises/difference-of-squares/spec/difference_of_squares_spec.cr
|
|
1167
|
+
- tracks/crystal/exercises/difference-of-squares/src/example.cr
|
|
1152
1168
|
- tracks/crystal/exercises/forth/spec/forth_spec.cr
|
|
1153
1169
|
- tracks/crystal/exercises/forth/src/example.cr
|
|
1170
|
+
- tracks/crystal/exercises/forth/src/forth.cr
|
|
1154
1171
|
- tracks/crystal/exercises/gigasecond/spec/gigasecond_spec.cr
|
|
1155
1172
|
- tracks/crystal/exercises/gigasecond/src/example.cr
|
|
1173
|
+
- tracks/crystal/exercises/gigasecond/src/gigasecond.cr
|
|
1156
1174
|
- tracks/crystal/exercises/hamming/spec/hamming_spec.cr
|
|
1157
1175
|
- tracks/crystal/exercises/hamming/src/example.cr
|
|
1176
|
+
- tracks/crystal/exercises/hamming/src/hamming.cr
|
|
1158
1177
|
- tracks/crystal/exercises/hello-world/HINTS.md
|
|
1159
1178
|
- tracks/crystal/exercises/hello-world/spec/hello_world_spec.cr
|
|
1160
1179
|
- tracks/crystal/exercises/hello-world/src/example.cr
|
|
1180
|
+
- tracks/crystal/exercises/hello-world/src/hello_world.cr
|
|
1161
1181
|
- tracks/crystal/exercises/largest-series-product/spec/largest_series_product_spec.cr
|
|
1162
1182
|
- tracks/crystal/exercises/largest-series-product/src/example.cr
|
|
1183
|
+
- tracks/crystal/exercises/largest-series-product/src/largest_series_product.cr
|
|
1163
1184
|
- tracks/crystal/exercises/leap/spec/leap_spec.cr
|
|
1164
1185
|
- tracks/crystal/exercises/leap/src/example.cr
|
|
1186
|
+
- tracks/crystal/exercises/leap/src/leap.cr
|
|
1165
1187
|
- tracks/crystal/exercises/pangram/spec/pangram_spec.cr
|
|
1166
1188
|
- tracks/crystal/exercises/pangram/src/example.cr
|
|
1189
|
+
- tracks/crystal/exercises/pangram/src/pangram.cr
|
|
1167
1190
|
- tracks/crystal/exercises/raindrops/spec/raindrops_spec.cr
|
|
1168
1191
|
- tracks/crystal/exercises/raindrops/src/example.cr
|
|
1192
|
+
- tracks/crystal/exercises/raindrops/src/raindrops.cr
|
|
1169
1193
|
- tracks/crystal/exercises/react/spec/react_spec.cr
|
|
1170
1194
|
- tracks/crystal/exercises/react/src/example.cr
|
|
1195
|
+
- tracks/crystal/exercises/react/src/react.cr
|
|
1171
1196
|
- tracks/crystal/exercises/rna-transcription/spec/rna_transcription_spec.cr
|
|
1172
1197
|
- tracks/crystal/exercises/rna-transcription/src/example.cr
|
|
1198
|
+
- tracks/crystal/exercises/rna-transcription/src/rna_transcription.cr
|
|
1173
1199
|
- tracks/crystal/exercises/roman-numerals/spec/roman_numerals_spec.cr
|
|
1174
1200
|
- tracks/crystal/exercises/roman-numerals/src/example.cr
|
|
1201
|
+
- tracks/crystal/exercises/roman-numerals/src/roman_numerals.cr
|
|
1175
1202
|
- tracks/crystal/exercises/sieve/spec/sieve_spec.cr
|
|
1176
1203
|
- tracks/crystal/exercises/sieve/src/example.cr
|
|
1204
|
+
- tracks/crystal/exercises/sieve/src/sieve.cr
|
|
1177
1205
|
- tracks/crystal/img/icon.png
|
|
1178
1206
|
- tracks/crystal/src/generator/exercises/acronym.cr
|
|
1179
1207
|
- tracks/crystal/src/generator/exercises/binary.cr
|
|
1208
|
+
- tracks/crystal/src/generator/exercises/difference_of_squares.cr
|
|
1180
1209
|
- tracks/crystal/src/generator/exercises/exercise_generator.cr
|
|
1181
1210
|
- tracks/crystal/src/generator/exercises/exercise_test_case.cr
|
|
1182
1211
|
- tracks/crystal/src/generator/exercises/forth.cr
|
|
@@ -3446,6 +3475,11 @@ files:
|
|
|
3446
3475
|
- tracks/java/exercises/beer-song/src/example/java/BeerSong.java
|
|
3447
3476
|
- tracks/java/exercises/beer-song/src/main/java/BeerSong.java
|
|
3448
3477
|
- tracks/java/exercises/beer-song/src/test/java/BeerSongTest.java
|
|
3478
|
+
- tracks/java/exercises/binary-search-tree/build.gradle
|
|
3479
|
+
- tracks/java/exercises/binary-search-tree/src/example/java/BST.java
|
|
3480
|
+
- tracks/java/exercises/binary-search-tree/src/main/java/.keep
|
|
3481
|
+
- tracks/java/exercises/binary-search-tree/src/test/java/.keep
|
|
3482
|
+
- tracks/java/exercises/binary-search-tree/src/test/java/BSTTest.java
|
|
3449
3483
|
- tracks/java/exercises/binary/build.gradle
|
|
3450
3484
|
- tracks/java/exercises/binary/src/example/java/Binary.java
|
|
3451
3485
|
- tracks/java/exercises/binary/src/main/java/.keep
|
|
@@ -3546,6 +3580,10 @@ files:
|
|
|
3546
3580
|
- tracks/java/exercises/prime-factors/src/example/java/PrimeFactors.java
|
|
3547
3581
|
- tracks/java/exercises/prime-factors/src/main/java/.keep
|
|
3548
3582
|
- tracks/java/exercises/prime-factors/src/test/java/PrimeFactorsTest.java
|
|
3583
|
+
- tracks/java/exercises/pythagorean-triplet/build.gradle
|
|
3584
|
+
- tracks/java/exercises/pythagorean-triplet/src/example/java/PythagoreanTriplet.java
|
|
3585
|
+
- tracks/java/exercises/pythagorean-triplet/src/main/java/PythagoreanTriplet.java
|
|
3586
|
+
- tracks/java/exercises/pythagorean-triplet/src/test/java/PythagoreanTripletTest.java
|
|
3549
3587
|
- tracks/java/exercises/queen-attack/build.gradle
|
|
3550
3588
|
- tracks/java/exercises/queen-attack/src/example/java/BoardCoordinate.java
|
|
3551
3589
|
- tracks/java/exercises/queen-attack/src/example/java/QueenAttackCalculator.java
|
|
@@ -5180,6 +5218,8 @@ files:
|
|
|
5180
5218
|
- tracks/php/exercises/robot-name/robot-name_test.php
|
|
5181
5219
|
- tracks/php/exercises/roman-numerals/example.php
|
|
5182
5220
|
- tracks/php/exercises/roman-numerals/roman-numerals_test.php
|
|
5221
|
+
- tracks/php/exercises/sieve/example.php
|
|
5222
|
+
- tracks/php/exercises/sieve/sieve_test.php
|
|
5183
5223
|
- tracks/php/exercises/space-age/example.php
|
|
5184
5224
|
- tracks/php/exercises/space-age/space-age_test.php
|
|
5185
5225
|
- tracks/php/exercises/triangle/example.php
|
|
@@ -5630,6 +5670,7 @@ files:
|
|
|
5630
5670
|
- tracks/ruby/bin/local-status-check
|
|
5631
5671
|
- tracks/ruby/bin/setup-git-hoooks
|
|
5632
5672
|
- tracks/ruby/config.json
|
|
5673
|
+
- tracks/ruby/docs/24pullrequests.md
|
|
5633
5674
|
- tracks/ruby/docs/ABOUT.md
|
|
5634
5675
|
- tracks/ruby/docs/INSTALLATION.md
|
|
5635
5676
|
- tracks/ruby/docs/LEARNING.md
|
|
@@ -6170,9 +6211,11 @@ files:
|
|
|
6170
6211
|
- tracks/scala/exercises/atbash-cipher/example.scala
|
|
6171
6212
|
- tracks/scala/exercises/atbash-cipher/src/main/scala/.keep
|
|
6172
6213
|
- tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala
|
|
6214
|
+
- tracks/scala/exercises/bank-account/HINTS.md
|
|
6173
6215
|
- tracks/scala/exercises/bank-account/build.sbt
|
|
6174
6216
|
- tracks/scala/exercises/bank-account/example.scala
|
|
6175
6217
|
- tracks/scala/exercises/bank-account/src/main/scala/.keep
|
|
6218
|
+
- tracks/scala/exercises/bank-account/src/main/scala/BankAccount.scala
|
|
6176
6219
|
- tracks/scala/exercises/bank-account/src/test/scala/BankAccountTest.scala
|
|
6177
6220
|
- tracks/scala/exercises/binary-search-tree/build.sbt
|
|
6178
6221
|
- tracks/scala/exercises/binary-search-tree/example.scala
|
|
@@ -6248,10 +6291,12 @@ files:
|
|
|
6248
6291
|
- tracks/scala/exercises/grains/example.scala
|
|
6249
6292
|
- tracks/scala/exercises/grains/src/main/scala/.keep
|
|
6250
6293
|
- tracks/scala/exercises/grains/src/test/scala/grains_test.scala
|
|
6294
|
+
- tracks/scala/exercises/hamming/HINTS.md
|
|
6251
6295
|
- tracks/scala/exercises/hamming/build.sbt
|
|
6252
6296
|
- tracks/scala/exercises/hamming/example.scala
|
|
6253
6297
|
- tracks/scala/exercises/hamming/src/main/scala/.keep
|
|
6254
6298
|
- tracks/scala/exercises/hamming/src/test/scala/hamming_test.scala
|
|
6299
|
+
- tracks/scala/exercises/hello-world/HINTS.md
|
|
6255
6300
|
- tracks/scala/exercises/hello-world/build.sbt
|
|
6256
6301
|
- tracks/scala/exercises/hello-world/example.scala
|
|
6257
6302
|
- tracks/scala/exercises/hello-world/src/main/scala/.keep
|
|
@@ -6305,6 +6350,7 @@ files:
|
|
|
6305
6350
|
- tracks/scala/exercises/nth-prime/example.scala
|
|
6306
6351
|
- tracks/scala/exercises/nth-prime/src/main/scala/.keep
|
|
6307
6352
|
- tracks/scala/exercises/nth-prime/src/test/scala/PrimeTest.scala
|
|
6353
|
+
- tracks/scala/exercises/nucleotide-count/HINTS.md
|
|
6308
6354
|
- tracks/scala/exercises/nucleotide-count/build.sbt
|
|
6309
6355
|
- tracks/scala/exercises/nucleotide-count/example.scala
|
|
6310
6356
|
- tracks/scala/exercises/nucleotide-count/src/main/scala/.keep
|