trackler 2.0.5.0 → 2.0.5.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/lib/trackler/version.rb +1 -1
- data/tracks/crystal/exercises/largest-series-product/spec/largest_series_product_spec.cr +32 -16
- data/tracks/fsharp/exercises/grep/GrepTest.fs +2 -1
- data/tracks/fsharp/exercises/linked-list/Example.fs +24 -17
- data/tracks/fsharp/exercises/linked-list/HINTS.md +14 -0
- data/tracks/fsharp/exercises/linked-list/LinkedListTest.fs +73 -80
- data/tracks/lua/config.json +8 -0
- data/tracks/lua/exercises/meetup/example.lua +61 -0
- data/tracks/lua/exercises/meetup/meetup_spec.lua +858 -0
- data/tracks/purescript/.travis.yml +4 -0
- data/tracks/purescript/config.json +7 -0
- data/tracks/purescript/exercises/bob/bower.json +17 -0
- data/tracks/purescript/exercises/bob/examples/src/Bob.purs +49 -0
- data/tracks/purescript/exercises/bob/src/Bob.purs +3 -0
- data/tracks/purescript/exercises/bob/test/Main.purs +82 -0
- data/tracks/ruby/.gitignore +1 -0
- data/tracks/ruby/Gemfile +2 -0
- data/tracks/ruby/Rakefile +6 -0
- data/tracks/ruby/bin/executable-tests-check +1 -1
- data/tracks/ruby/config.json +2 -1
- data/tracks/ruby/lib/generator.rb +8 -3
- data/tracks/ruby/test/generator_test.rb +21 -0
- data/tracks/ruby/test/test_helper.rb +16 -0
- data/tracks/scala/config.json +17 -0
- data/tracks/scala/exercises/allergies/example.scala +1 -5
- data/tracks/scala/exercises/allergies/src/main/scala/Allergies.scala +11 -0
- data/tracks/scala/exercises/allergies/src/test/scala/AllergiesTest.scala +14 -14
- data/tracks/scala/exercises/atbash-cipher/example.scala +4 -4
- data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +3 -0
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +9 -9
- data/tracks/scala/exercises/crypto-square/example.scala +1 -1
- data/tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala +11 -0
- data/tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala +17 -17
- data/tracks/scala/exercises/queen-attack/example.scala +2 -1
- data/tracks/scala/exercises/queen-attack/src/main/scala/Queens.scala +8 -0
- data/tracks/scala/exercises/queen-attack/src/test/scala/QueensTest.scala +9 -9
- data/tracks/scala/exercises/raindrops/example.scala +1 -5
- data/tracks/scala/exercises/raindrops/src/main/scala/Raindrops.scala +4 -0
- data/tracks/scala/exercises/raindrops/src/test/scala/RaindropsTest.scala +16 -16
- data/tracks/swift/README.md +16 -16
- metadata +16 -1
@@ -1,9 +1,9 @@
|
|
1
|
-
|
2
|
-
def encode(s: String): String =
|
3
|
-
s.foldLeft("")((acc, c) => acc + substitute(c)).grouped(5).mkString(" ")
|
4
|
-
|
1
|
+
object Atbash {
|
5
2
|
private def substitute(c: Char) =
|
6
3
|
if (c.isDigit) c.toString
|
7
4
|
else if (c.isLetter) ('a' + ('z' - c.toLower)).toChar.toString
|
8
5
|
else ""
|
6
|
+
|
7
|
+
def encode(s: String): String =
|
8
|
+
s.foldLeft("")((acc, c) => acc + substitute(c)).grouped(5).mkString(" ")
|
9
9
|
}
|
@@ -2,47 +2,47 @@ import org.scalatest.{Matchers, FlatSpec}
|
|
2
2
|
|
3
3
|
class AtbashTest extends FlatSpec with Matchers {
|
4
4
|
it should "encode no" in {
|
5
|
-
Atbash
|
5
|
+
Atbash.encode("no") should equal("ml")
|
6
6
|
}
|
7
7
|
|
8
8
|
it should "encode yes" in {
|
9
9
|
pending
|
10
|
-
Atbash
|
10
|
+
Atbash.encode("yes") should equal("bvh")
|
11
11
|
}
|
12
12
|
|
13
13
|
it should "encode OMG" in {
|
14
14
|
pending
|
15
|
-
Atbash
|
15
|
+
Atbash.encode("OMG") should equal("lnt")
|
16
16
|
}
|
17
17
|
|
18
18
|
it should "encode lowercase omg" in {
|
19
19
|
pending
|
20
|
-
Atbash
|
20
|
+
Atbash.encode("omg") should equal("lnt")
|
21
21
|
}
|
22
22
|
|
23
23
|
it should "encode O M G" in {
|
24
24
|
pending
|
25
|
-
Atbash
|
25
|
+
Atbash.encode("O M G ") should equal("lnt")
|
26
26
|
}
|
27
27
|
|
28
28
|
it should "encode and group string " in {
|
29
29
|
pending
|
30
|
-
Atbash
|
30
|
+
Atbash.encode("mindblowingly") should equal("nrmwy oldrm tob")
|
31
31
|
}
|
32
32
|
|
33
33
|
it should "encode string with digits and punctuation" in {
|
34
34
|
pending
|
35
|
-
Atbash
|
35
|
+
Atbash.encode("Testing, 1 2 3, testing. ") should equal("gvhgr mt123 gvhgr mt")
|
36
36
|
}
|
37
37
|
|
38
38
|
it should "encode \"Truth is fiction.\"" in {
|
39
39
|
pending
|
40
|
-
Atbash
|
40
|
+
Atbash.encode("Truth is fiction.") should equal("gifgs rhurx grlm")
|
41
41
|
}
|
42
42
|
|
43
43
|
it should "encode a long string" in {
|
44
44
|
pending
|
45
|
-
Atbash
|
45
|
+
Atbash.encode("The quick brown fox jumps over the lazy dog.") should
|
46
46
|
equal("gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt")
|
47
47
|
}
|
48
48
|
}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
object CryptoSquare {
|
2
|
+
def normalizePlaintext(text: String): String = ???
|
3
|
+
|
4
|
+
def squareSize(text: String): Int = ???
|
5
|
+
|
6
|
+
def plaintextSegments(text: String): List[String] = ???
|
7
|
+
|
8
|
+
def ciphertext(text: String): String = ???
|
9
|
+
|
10
|
+
def normalizedCiphertext(text: String): String = ???
|
11
|
+
}
|
@@ -2,71 +2,71 @@ import org.scalatest.{Matchers, FlatSpec}
|
|
2
2
|
|
3
3
|
class CrytpoSquareTest extends FlatSpec with Matchers {
|
4
4
|
it should "normalize away special characters" in {
|
5
|
-
CryptoSquare
|
5
|
+
CryptoSquare.normalizePlaintext("s#!@$%pl\t\r\nunk") should equal("splunk")
|
6
6
|
}
|
7
7
|
|
8
8
|
it should "normalize uppercase to lowercase" in {
|
9
9
|
pending
|
10
|
-
CryptoSquare
|
10
|
+
CryptoSquare.normalizePlaintext("1, 2, 3 GO!") should equal("123go")
|
11
11
|
}
|
12
12
|
|
13
13
|
|
14
14
|
it should "calc a square size for a perfect square" in {
|
15
15
|
pending
|
16
|
-
CryptoSquare
|
17
|
-
CryptoSquare
|
16
|
+
CryptoSquare.squareSize("1234") should equal(2)
|
17
|
+
CryptoSquare.squareSize("123456789") should equal(3)
|
18
18
|
}
|
19
19
|
|
20
20
|
it should "calc a square size when not a perfect square" in {
|
21
21
|
pending
|
22
|
-
CryptoSquare
|
23
|
-
CryptoSquare
|
22
|
+
CryptoSquare.squareSize("123456789abc") should equal(4)
|
23
|
+
CryptoSquare.squareSize("123456789abcd") should equal(4)
|
24
24
|
}
|
25
25
|
|
26
26
|
it should "not generate calc error when empty string" in {
|
27
27
|
pending
|
28
|
-
CryptoSquare
|
28
|
+
CryptoSquare.squareSize("") should equal(0)
|
29
29
|
}
|
30
30
|
|
31
31
|
|
32
32
|
it should "build plaintext segments - all equal segment lengths" in {
|
33
33
|
pending
|
34
|
-
CryptoSquare
|
34
|
+
CryptoSquare.plaintextSegments("Never vex thine heart with idle woes.") should
|
35
35
|
equal(List("neverv", "exthin", "eheart", "withid", "lewoes"))
|
36
36
|
}
|
37
37
|
|
38
38
|
it should "build plaintext segments - last segment short" in {
|
39
39
|
pending
|
40
|
-
CryptoSquare
|
40
|
+
CryptoSquare.plaintextSegments("ZOMG! ZOMBIES!!!") should
|
41
41
|
equal(List("zomg", "zomb", "ies"))
|
42
42
|
}
|
43
43
|
|
44
44
|
it should "build cipher text" in {
|
45
45
|
pending
|
46
|
-
CryptoSquare
|
46
|
+
CryptoSquare.ciphertext("Time is an illusion. Lunchtime doubly so.") should
|
47
47
|
equal("tasneyinicdsmiohooelntuillibsuuml")
|
48
|
-
CryptoSquare
|
48
|
+
CryptoSquare.ciphertext("We all know interspecies romance is weird.") should
|
49
49
|
equal("wneiaweoreneawssciliprerlneoidktcms")
|
50
50
|
}
|
51
51
|
|
52
52
|
it should "build normalized cipher text" in {
|
53
53
|
pending
|
54
|
-
CryptoSquare
|
54
|
+
CryptoSquare.normalizedCiphertext("Madness, and then illumination.") should
|
55
55
|
equal("msemo aanin dnin ndla etlt shui")
|
56
|
-
CryptoSquare
|
56
|
+
CryptoSquare.normalizedCiphertext("If man was meant to stay on the ground " +
|
57
57
|
"god would have given us roots") should
|
58
58
|
equal("imtgdvs fearwer mayoogo anouuio ntnnlvt wttddes aohghn sseoau")
|
59
59
|
}
|
60
60
|
|
61
61
|
it should "not error on blank strings" in {
|
62
62
|
pending
|
63
|
-
CryptoSquare
|
63
|
+
CryptoSquare.ciphertext("") should
|
64
64
|
equal("")
|
65
|
-
CryptoSquare
|
65
|
+
CryptoSquare.ciphertext(" ") should
|
66
66
|
equal("")
|
67
|
-
CryptoSquare
|
67
|
+
CryptoSquare.normalizedCiphertext("") should
|
68
68
|
equal("")
|
69
|
-
CryptoSquare
|
69
|
+
CryptoSquare.normalizedCiphertext(" ") should
|
70
70
|
equal("")
|
71
71
|
}
|
72
72
|
}
|
@@ -2,7 +2,7 @@ import org.scalatest.{Matchers, FunSuite}
|
|
2
2
|
|
3
3
|
class QueensTest extends FunSuite with Matchers {
|
4
4
|
test ("empty boardString") {
|
5
|
-
Queens
|
5
|
+
Queens.boardString(None, None) should equal(
|
6
6
|
"_ _ _ _ _ _ _ _\n" +
|
7
7
|
"_ _ _ _ _ _ _ _\n" +
|
8
8
|
"_ _ _ _ _ _ _ _\n" +
|
@@ -15,7 +15,7 @@ class QueensTest extends FunSuite with Matchers {
|
|
15
15
|
|
16
16
|
test("boardString") {
|
17
17
|
pending
|
18
|
-
Queens
|
18
|
+
Queens.boardString(Some(Position(2, 4)), Some(Position(6, 6))) should equal(
|
19
19
|
"_ _ _ _ _ _ _ _\n" +
|
20
20
|
"_ _ _ _ _ _ _ _\n" +
|
21
21
|
"_ _ _ _ W _ _ _\n" +
|
@@ -28,24 +28,24 @@ class QueensTest extends FunSuite with Matchers {
|
|
28
28
|
|
29
29
|
test("canAttack - false") {
|
30
30
|
pending
|
31
|
-
Queens
|
31
|
+
Queens.canAttack(Position(2, 3), Position(4, 7)) should be (false)
|
32
32
|
}
|
33
33
|
|
34
34
|
test("canAttack - vert attack") {
|
35
35
|
pending
|
36
|
-
Queens
|
36
|
+
Queens.canAttack(Position(2, 4), Position(2, 7)) should be (true)
|
37
37
|
}
|
38
38
|
|
39
39
|
test("canAttack - horiz attack") {
|
40
40
|
pending
|
41
|
-
Queens
|
41
|
+
Queens.canAttack(Position(5, 4), Position(2, 4)) should be (true)
|
42
42
|
}
|
43
43
|
|
44
44
|
test("canAttack - diag attack") {
|
45
45
|
pending
|
46
|
-
Queens
|
47
|
-
Queens
|
48
|
-
Queens
|
49
|
-
Queens
|
46
|
+
Queens.canAttack(Position(1, 1), Position(6, 6)) should be (true)
|
47
|
+
Queens.canAttack(Position(0, 6), Position(1, 7)) should be (true)
|
48
|
+
Queens.canAttack(Position(4, 1), Position(6, 3)) should be (true)
|
49
|
+
Queens.canAttack(Position(2, 2), Position(1, 3)) should be (true)
|
50
50
|
}
|
51
51
|
}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
object Raindrops {
|
2
2
|
private val sounds = List((3, "Pling"), (5, "Plang"), (7, "Plong"))
|
3
3
|
|
4
4
|
def convert(n: Int): String =
|
@@ -7,7 +7,3 @@ class Raindrops {
|
|
7
7
|
case s => s
|
8
8
|
}
|
9
9
|
}
|
10
|
-
|
11
|
-
object Raindrops {
|
12
|
-
def apply() = new Raindrops
|
13
|
-
}
|
@@ -2,82 +2,82 @@ import org.scalatest.{Matchers, FlatSpec}
|
|
2
2
|
|
3
3
|
class RaindropsTest extends FlatSpec with Matchers {
|
4
4
|
it should "convert 1" in {
|
5
|
-
Raindrops
|
5
|
+
Raindrops.convert(1) should equal("1")
|
6
6
|
}
|
7
7
|
|
8
8
|
it should "convert 3" in {
|
9
9
|
pending
|
10
|
-
Raindrops
|
10
|
+
Raindrops.convert(3) should equal("Pling")
|
11
11
|
}
|
12
12
|
|
13
13
|
it should "convert 5" in {
|
14
14
|
pending
|
15
|
-
Raindrops
|
15
|
+
Raindrops.convert(5) should equal("Plang")
|
16
16
|
}
|
17
17
|
|
18
18
|
it should "convert 7" in {
|
19
19
|
pending
|
20
|
-
Raindrops
|
20
|
+
Raindrops.convert(7) should equal("Plong")
|
21
21
|
}
|
22
22
|
|
23
23
|
it should "convert 6" in {
|
24
24
|
pending
|
25
|
-
Raindrops
|
25
|
+
Raindrops.convert(6) should equal("Pling")
|
26
26
|
}
|
27
27
|
|
28
28
|
it should "convert 9" in {
|
29
29
|
pending
|
30
|
-
Raindrops
|
30
|
+
Raindrops.convert(9) should equal("Pling")
|
31
31
|
}
|
32
32
|
|
33
33
|
it should "convert 10" in {
|
34
34
|
pending
|
35
|
-
Raindrops
|
35
|
+
Raindrops.convert(10) should equal("Plang")
|
36
36
|
}
|
37
37
|
|
38
38
|
it should "convert 14" in {
|
39
39
|
pending
|
40
|
-
Raindrops
|
40
|
+
Raindrops.convert(14) should equal("Plong")
|
41
41
|
}
|
42
42
|
|
43
43
|
it should "convert 15" in {
|
44
44
|
pending
|
45
|
-
Raindrops
|
45
|
+
Raindrops.convert(15) should equal("PlingPlang")
|
46
46
|
}
|
47
47
|
|
48
48
|
it should "convert 21" in {
|
49
49
|
pending
|
50
|
-
Raindrops
|
50
|
+
Raindrops.convert(21) should equal("PlingPlong")
|
51
51
|
}
|
52
52
|
|
53
53
|
it should "convert 25" in {
|
54
54
|
pending
|
55
|
-
Raindrops
|
55
|
+
Raindrops.convert(25) should equal("Plang")
|
56
56
|
}
|
57
57
|
|
58
58
|
it should "convert 35" in {
|
59
59
|
pending
|
60
|
-
Raindrops
|
60
|
+
Raindrops.convert(35) should equal("PlangPlong")
|
61
61
|
}
|
62
62
|
|
63
63
|
it should "convert 49" in {
|
64
64
|
pending
|
65
|
-
Raindrops
|
65
|
+
Raindrops.convert(49) should equal("Plong")
|
66
66
|
}
|
67
67
|
|
68
68
|
it should "convert 52" in {
|
69
69
|
pending
|
70
|
-
Raindrops
|
70
|
+
Raindrops.convert(52) should equal("52")
|
71
71
|
}
|
72
72
|
|
73
73
|
it should "convert 105" in {
|
74
74
|
pending
|
75
|
-
Raindrops
|
75
|
+
Raindrops.convert(105) should equal("PlingPlangPlong")
|
76
76
|
}
|
77
77
|
|
78
78
|
it should "convert 12121" in {
|
79
79
|
pending
|
80
|
-
Raindrops
|
80
|
+
Raindrops.convert(12121) should equal("12121")
|
81
81
|
}
|
82
82
|
}
|
83
83
|
|
data/tracks/swift/README.md
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
# xSwift
|
2
|
-
|
3
|
-
Exercism exercises in Swift
|
4
|
-
|
5
|
-
## Contributing Guide
|
6
|
-
|
7
|
-
Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
|
8
|
-
|
9
|
-
## Swift Track
|
10
|
-
|
1
|
+
# xSwift
|
2
|
+
|
3
|
+
[Exercism](http://exercism.io) exercises in Swift
|
4
|
+
|
5
|
+
## Contributing Guide
|
6
|
+
|
7
|
+
Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
|
8
|
+
|
9
|
+
## Swift Track
|
10
|
+
|
11
11
|
We use Travis CI to automatically run all the unit tests on the code that is going to be checked in. In addition we also have [SwiftLint](https://github.com/realm/SwiftLint) set up to make sure that the code is consistent across all exercises. Please run `swiftlint autocorrect --format` on your code before submitting a PR. Also in order for the tests to run they need to be added to the `xcodeProject` project. Make sure all the tests pass locally and that you are using the latest Xcode version otherwise the Travis checks may fail.
|
12
|
-
|
13
|
-
## License
|
14
|
-
|
15
|
-
The MIT License (MIT)
|
16
|
-
|
17
|
-
Copyright (c)
|
12
|
+
|
13
|
+
## License
|
14
|
+
|
15
|
+
The MIT License (MIT)
|
16
|
+
|
17
|
+
Copyright (c) 2017 Katrina Owen, _@kytrinyx.com
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: trackler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.5.
|
4
|
+
version: 2.0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Katrina Owen
|
@@ -2496,6 +2496,7 @@ files:
|
|
2496
2496
|
- tracks/fsharp/exercises/ledger/Ledger.fs
|
2497
2497
|
- tracks/fsharp/exercises/ledger/LedgerTest.fs
|
2498
2498
|
- tracks/fsharp/exercises/linked-list/Example.fs
|
2499
|
+
- tracks/fsharp/exercises/linked-list/HINTS.md
|
2499
2500
|
- tracks/fsharp/exercises/linked-list/LinkedListTest.fs
|
2500
2501
|
- tracks/fsharp/exercises/list-ops/Example.fs
|
2501
2502
|
- tracks/fsharp/exercises/list-ops/ListOpsTest.fs
|
@@ -4519,6 +4520,8 @@ files:
|
|
4519
4520
|
- tracks/lua/exercises/luhn/luhn_spec.lua
|
4520
4521
|
- tracks/lua/exercises/matrix/example.lua
|
4521
4522
|
- tracks/lua/exercises/matrix/matrix_spec.lua
|
4523
|
+
- tracks/lua/exercises/meetup/example.lua
|
4524
|
+
- tracks/lua/exercises/meetup/meetup_spec.lua
|
4522
4525
|
- tracks/lua/exercises/minesweeper/example.lua
|
4523
4526
|
- tracks/lua/exercises/minesweeper/minesweeper_spec.lua
|
4524
4527
|
- tracks/lua/exercises/nth-prime/example.lua
|
@@ -5469,6 +5472,10 @@ files:
|
|
5469
5472
|
- tracks/purescript/docs/LEARNING.md
|
5470
5473
|
- tracks/purescript/docs/RESOURCES.md
|
5471
5474
|
- tracks/purescript/docs/TESTS.md
|
5475
|
+
- tracks/purescript/exercises/bob/bower.json
|
5476
|
+
- tracks/purescript/exercises/bob/examples/src/Bob.purs
|
5477
|
+
- tracks/purescript/exercises/bob/src/Bob.purs
|
5478
|
+
- tracks/purescript/exercises/bob/test/Main.purs
|
5472
5479
|
- tracks/purescript/exercises/hello-world/bower.json
|
5473
5480
|
- tracks/purescript/exercises/hello-world/examples/src/HelloWorld.purs
|
5474
5481
|
- tracks/purescript/exercises/hello-world/src/HelloWorld.purs
|
@@ -5785,6 +5792,7 @@ files:
|
|
5785
5792
|
- tracks/ruby/LICENSE
|
5786
5793
|
- tracks/ruby/Makefile
|
5787
5794
|
- tracks/ruby/README.md
|
5795
|
+
- tracks/ruby/Rakefile
|
5788
5796
|
- tracks/ruby/SETUP.md
|
5789
5797
|
- tracks/ruby/bin/enable-executable
|
5790
5798
|
- tracks/ruby/bin/executable-tests-check
|
@@ -6069,6 +6077,8 @@ files:
|
|
6069
6077
|
- tracks/ruby/lib/triangle_cases.rb
|
6070
6078
|
- tracks/ruby/lib/two_bucket_cases.rb
|
6071
6079
|
- tracks/ruby/lib/word_count_cases.rb
|
6080
|
+
- tracks/ruby/test/generator_test.rb
|
6081
|
+
- tracks/ruby/test/test_helper.rb
|
6072
6082
|
- tracks/rust/.git
|
6073
6083
|
- tracks/rust/.gitignore
|
6074
6084
|
- tracks/rust/.travis.yml
|
@@ -6365,6 +6375,7 @@ files:
|
|
6365
6375
|
- tracks/scala/exercises/allergies/build.sbt
|
6366
6376
|
- tracks/scala/exercises/allergies/example.scala
|
6367
6377
|
- tracks/scala/exercises/allergies/src/main/scala/.keep
|
6378
|
+
- tracks/scala/exercises/allergies/src/main/scala/Allergies.scala
|
6368
6379
|
- tracks/scala/exercises/allergies/src/test/scala/AllergiesTest.scala
|
6369
6380
|
- tracks/scala/exercises/alphametics/build.sbt
|
6370
6381
|
- tracks/scala/exercises/alphametics/example.scala
|
@@ -6377,6 +6388,7 @@ files:
|
|
6377
6388
|
- tracks/scala/exercises/atbash-cipher/build.sbt
|
6378
6389
|
- tracks/scala/exercises/atbash-cipher/example.scala
|
6379
6390
|
- tracks/scala/exercises/atbash-cipher/src/main/scala/.keep
|
6391
|
+
- tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala
|
6380
6392
|
- tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala
|
6381
6393
|
- tracks/scala/exercises/bank-account/HINTS.md
|
6382
6394
|
- tracks/scala/exercises/bank-account/build.sbt
|
@@ -6420,6 +6432,7 @@ files:
|
|
6420
6432
|
- tracks/scala/exercises/crypto-square/build.sbt
|
6421
6433
|
- tracks/scala/exercises/crypto-square/example.scala
|
6422
6434
|
- tracks/scala/exercises/crypto-square/src/main/scala/.keep
|
6435
|
+
- tracks/scala/exercises/crypto-square/src/main/scala/CryptoSquare.scala
|
6423
6436
|
- tracks/scala/exercises/crypto-square/src/test/scala/CryptoSquareTest.scala
|
6424
6437
|
- tracks/scala/exercises/custom-set/build.sbt
|
6425
6438
|
- tracks/scala/exercises/custom-set/example.scala
|
@@ -6569,10 +6582,12 @@ files:
|
|
6569
6582
|
- tracks/scala/exercises/queen-attack/build.sbt
|
6570
6583
|
- tracks/scala/exercises/queen-attack/example.scala
|
6571
6584
|
- tracks/scala/exercises/queen-attack/src/main/scala/.keep
|
6585
|
+
- tracks/scala/exercises/queen-attack/src/main/scala/Queens.scala
|
6572
6586
|
- tracks/scala/exercises/queen-attack/src/test/scala/QueensTest.scala
|
6573
6587
|
- tracks/scala/exercises/raindrops/build.sbt
|
6574
6588
|
- tracks/scala/exercises/raindrops/example.scala
|
6575
6589
|
- tracks/scala/exercises/raindrops/src/main/scala/.keep
|
6590
|
+
- tracks/scala/exercises/raindrops/src/main/scala/Raindrops.scala
|
6576
6591
|
- tracks/scala/exercises/raindrops/src/test/scala/RaindropsTest.scala
|
6577
6592
|
- tracks/scala/exercises/rna-transcription/build.sbt
|
6578
6593
|
- tracks/scala/exercises/rna-transcription/example.scala
|