trackler 2.2.1.50 → 2.2.1.51

Sign up to get free protection for your applications and to get access to all the features.
Files changed (106) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/c/README.md +10 -0
  4. data/tracks/c/exercises/raindrops/src/example.c +16 -18
  5. data/tracks/c/exercises/raindrops/src/example.h +1 -1
  6. data/tracks/c/exercises/raindrops/test/test_raindrops.c +25 -54
  7. data/tracks/clojure/config.json +256 -382
  8. data/tracks/clojure/config/maintainers.json +19 -19
  9. data/tracks/coq/docs/SNIPPET.txt +12 -0
  10. data/tracks/csharp/config.json +677 -678
  11. data/tracks/csharp/config/maintainers.json +27 -27
  12. data/tracks/csharp/docs/GENERATORS.md +2 -0
  13. data/tracks/csharp/exercises/bowling/BowlingTest.cs +163 -87
  14. data/tracks/csharp/exercises/bowling/Example.cs +47 -8
  15. data/tracks/csharp/generators/Exercises/Bowling.cs +116 -0
  16. data/tracks/elisp/config.json +84 -126
  17. data/tracks/elisp/config/maintainers.json +7 -7
  18. data/tracks/elixir/config.json +397 -513
  19. data/tracks/elixir/config/maintainers.json +15 -15
  20. data/tracks/erlang/.gitmodules +3 -0
  21. data/tracks/erlang/.travis.yml +1 -0
  22. data/tracks/erlang/exercises/hello-world/test/hello_world_tests.erl +1 -1
  23. data/tracks/erlang/testgen/.gitignore +19 -0
  24. data/tracks/erlang/testgen/LICENSE +21 -0
  25. data/tracks/erlang/testgen/README.md +14 -0
  26. data/tracks/erlang/testgen/include/tgen.hrl +6 -0
  27. data/tracks/erlang/testgen/rebar.config +15 -0
  28. data/tracks/erlang/testgen/src/testgen.app.src +15 -0
  29. data/tracks/erlang/testgen/src/testgen.erl +41 -0
  30. data/tracks/erlang/testgen/src/tg_file_tools.erl +14 -0
  31. data/tracks/erlang/testgen/src/tg_git_tools.erl +20 -0
  32. data/tracks/erlang/testgen/src/tgen.erl +126 -0
  33. data/tracks/erlang/testgen/src/tgen_hello-world.erl +35 -0
  34. data/tracks/fsharp/config.json +643 -643
  35. data/tracks/fsharp/config/maintainers.json +15 -15
  36. data/tracks/groovy/config.json +97 -101
  37. data/tracks/groovy/config/maintainers.json +7 -7
  38. data/tracks/haxe/docs/INSTALLATION.md +2 -0
  39. data/tracks/haxe/docs/SNIPPET.txt +7 -0
  40. data/tracks/haxe/docs/TESTS.md +24 -0
  41. data/tracks/idris/config.json +35 -37
  42. data/tracks/idris/config/maintainers.json +7 -7
  43. data/tracks/java/config.json +122 -122
  44. data/tracks/javascript/exercises/palindrome-products/README.md +6 -6
  45. data/tracks/kotlin/config.json +264 -383
  46. data/tracks/kotlin/config/maintainers.json +15 -15
  47. data/tracks/lfe/config.json +126 -188
  48. data/tracks/lfe/config/maintainers.json +7 -7
  49. data/tracks/lua/exercises/etl/README.md +1 -1
  50. data/tracks/lua/exercises/ocr-numbers/README.md +1 -1
  51. data/tracks/lua/exercises/pascals-triangle/README.md +1 -1
  52. data/tracks/lua/exercises/pov/README.md +1 -1
  53. data/tracks/lua/exercises/react/react_spec.lua +1 -1
  54. data/tracks/lua/exercises/rna-transcription/README.md +1 -1
  55. data/tracks/objective-c/config.json +8 -8
  56. data/tracks/objective-c/config/maintainers.json +15 -15
  57. data/tracks/perl6/docs/EXERCISE_README_INSERT.md +9 -5
  58. data/tracks/perl6/exercises/accumulate/README.md +9 -5
  59. data/tracks/perl6/exercises/all-your-base/README.md +9 -5
  60. data/tracks/perl6/exercises/allergies/README.md +9 -5
  61. data/tracks/perl6/exercises/anagram/README.md +9 -5
  62. data/tracks/perl6/exercises/atbash-cipher/README.md +9 -5
  63. data/tracks/perl6/exercises/binary/README.md +9 -5
  64. data/tracks/perl6/exercises/bob/README.md +9 -5
  65. data/tracks/perl6/exercises/clock/README.md +9 -5
  66. data/tracks/perl6/exercises/flatten-array/README.md +9 -5
  67. data/tracks/perl6/exercises/grade-school/README.md +9 -5
  68. data/tracks/perl6/exercises/grains/README.md +9 -5
  69. data/tracks/perl6/exercises/hello-world/README.md +9 -5
  70. data/tracks/perl6/exercises/leap/README.md +9 -5
  71. data/tracks/perl6/exercises/linked-list/README.md +9 -5
  72. data/tracks/perl6/exercises/luhn/README.md +9 -5
  73. data/tracks/perl6/exercises/phone-number/README.md +9 -5
  74. data/tracks/perl6/exercises/raindrops/README.md +9 -5
  75. data/tracks/perl6/exercises/rna-transcription/README.md +10 -6
  76. data/tracks/perl6/exercises/robot-name/README.md +9 -5
  77. data/tracks/perl6/exercises/scrabble-score/README.md +9 -5
  78. data/tracks/perl6/exercises/space-age/README.md +10 -7
  79. data/tracks/perl6/exercises/trinary/README.md +9 -5
  80. data/tracks/perl6/exercises/word-count/README.md +9 -5
  81. data/tracks/perl6/exercises/wordy/README.md +9 -5
  82. data/tracks/r/config.json +136 -138
  83. data/tracks/r/config/maintainers.json +15 -15
  84. data/tracks/racket/config.json +105 -151
  85. data/tracks/racket/config/maintainers.json +15 -15
  86. data/tracks/rust/.travis.yml +1 -0
  87. data/tracks/rust/_test/count-ignores.sh +16 -0
  88. data/tracks/rust/exercises/all-your-base/tests/all-your-base.rs +36 -36
  89. data/tracks/rust/exercises/alphametics/tests/alphametics.rs +2 -2
  90. data/tracks/rust/exercises/bowling/tests/bowling.rs +14 -14
  91. data/tracks/rust/exercises/circular-buffer/tests/circular-buffer.rs +16 -16
  92. data/tracks/rust/exercises/hamming/tests/hamming.rs +5 -5
  93. data/tracks/rust/exercises/largest-series-product/tests/largest-series-product.rs +12 -12
  94. data/tracks/rust/exercises/nucleotide-count/tests/nucleotide-count.rs +4 -4
  95. data/tracks/rust/exercises/ocr-numbers/tests/ocr-numbers.rs +15 -15
  96. data/tracks/rust/exercises/pascals-triangle/tests/pascals-triangle.rs +1 -1
  97. data/tracks/rust/exercises/protein-translation/tests/proteins.rs +6 -6
  98. data/tracks/rust/exercises/react/tests/react.rs +11 -11
  99. data/tracks/rust/exercises/variable-length-quantity/tests/variable-length-quantity.rs +13 -15
  100. data/tracks/rust/exercises/wordy/tests/wordy.rs +14 -14
  101. data/tracks/swift/config.json +447 -449
  102. data/tracks/swift/config/maintainers.json +15 -15
  103. data/tracks/typescript/config.json +294 -295
  104. data/tracks/typescript/config/maintainers.json +11 -11
  105. data/tracks/vbnet/docs/SNIPPET.txt +5 -0
  106. metadata +21 -2
@@ -35,11 +35,15 @@ examples if you get stuck.
35
35
 
36
36
  ## Running the tests
37
37
 
38
- There is a test script included with the exercise; a file with the extension
39
- `.t`. You can run the test script for the exercise by executing the command
40
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
41
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
42
- tests marked as 'TODO'.
38
+ There is a test suite and module included with the exercise.
39
+ The test suite (a file with the extension `.t`) will attempt to run routines
40
+ from the module (a file with the extension `.pm6`).
41
+ Add/modify routines in the module so that the tests will pass! You can view the
42
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
43
+ test suite), and run the test suite for the exercise by executing the command
44
+ `prove . --exec=perl6` in the exercise directory.
45
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
46
+ tests, including any optional tests marked as 'TODO'.
43
47
 
44
48
  ## Source
45
49
 
@@ -72,11 +72,15 @@ examples if you get stuck.
72
72
 
73
73
  ## Running the tests
74
74
 
75
- There is a test script included with the exercise; a file with the extension
76
- `.t`. You can run the test script for the exercise by executing the command
77
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
78
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
79
- tests marked as 'TODO'.
75
+ There is a test suite and module included with the exercise.
76
+ The test suite (a file with the extension `.t`) will attempt to run routines
77
+ from the module (a file with the extension `.pm6`).
78
+ Add/modify routines in the module so that the tests will pass! You can view the
79
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
80
+ test suite), and run the test suite for the exercise by executing the command
81
+ `prove . --exec=perl6` in the exercise directory.
82
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
83
+ tests, including any optional tests marked as 'TODO'.
80
84
 
81
85
  ## Source
82
86
 
@@ -36,11 +36,15 @@ examples if you get stuck.
36
36
 
37
37
  ## Running the tests
38
38
 
39
- There is a test script included with the exercise; a file with the extension
40
- `.t`. You can run the test script for the exercise by executing the command
41
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
42
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
43
- tests marked as 'TODO'.
39
+ There is a test suite and module included with the exercise.
40
+ The test suite (a file with the extension `.t`) will attempt to run routines
41
+ from the module (a file with the extension `.pm6`).
42
+ Add/modify routines in the module so that the tests will pass! You can view the
43
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
44
+ test suite), and run the test suite for the exercise by executing the command
45
+ `prove . --exec=perl6` in the exercise directory.
46
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
47
+ tests, including any optional tests marked as 'TODO'.
44
48
 
45
49
  ## Source
46
50
 
@@ -25,11 +25,15 @@ examples if you get stuck.
25
25
 
26
26
  ## Running the tests
27
27
 
28
- There is a test script included with the exercise; a file with the extension
29
- `.t`. You can run the test script for the exercise by executing the command
30
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
31
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
32
- tests marked as 'TODO'.
28
+ There is a test suite and module included with the exercise.
29
+ The test suite (a file with the extension `.t`) will attempt to run routines
30
+ from the module (a file with the extension `.pm6`).
31
+ Add/modify routines in the module so that the tests will pass! You can view the
32
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
33
+ test suite), and run the test suite for the exercise by executing the command
34
+ `prove . --exec=perl6` in the exercise directory.
35
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
36
+ tests, including any optional tests marked as 'TODO'.
33
37
 
34
38
  ## Source
35
39
 
@@ -1,4 +1,4 @@
1
- # Rna Transcription
1
+ # RNA Transcription
2
2
 
3
3
  Given a DNA strand, return its RNA complement (per RNA transcription).
4
4
 
@@ -26,11 +26,15 @@ examples if you get stuck.
26
26
 
27
27
  ## Running the tests
28
28
 
29
- There is a test script included with the exercise; a file with the extension
30
- `.t`. You can run the test script for the exercise by executing the command
31
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
32
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
33
- tests marked as 'TODO'.
29
+ There is a test suite and module included with the exercise.
30
+ The test suite (a file with the extension `.t`) will attempt to run routines
31
+ from the module (a file with the extension `.pm6`).
32
+ Add/modify routines in the module so that the tests will pass! You can view the
33
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
34
+ test suite), and run the test suite for the exercise by executing the command
35
+ `prove . --exec=perl6` in the exercise directory.
36
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
37
+ tests, including any optional tests marked as 'TODO'.
34
38
 
35
39
  ## Source
36
40
 
@@ -23,11 +23,15 @@ examples if you get stuck.
23
23
 
24
24
  ## Running the tests
25
25
 
26
- There is a test script included with the exercise; a file with the extension
27
- `.t`. You can run the test script for the exercise by executing the command
28
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
29
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
30
- tests marked as 'TODO'.
26
+ There is a test suite and module included with the exercise.
27
+ The test suite (a file with the extension `.t`) will attempt to run routines
28
+ from the module (a file with the extension `.pm6`).
29
+ Add/modify routines in the module so that the tests will pass! You can view the
30
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
31
+ test suite), and run the test suite for the exercise by executing the command
32
+ `prove . --exec=perl6` in the exercise directory.
33
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
34
+ tests, including any optional tests marked as 'TODO'.
31
35
 
32
36
  ## Source
33
37
 
@@ -47,11 +47,15 @@ examples if you get stuck.
47
47
 
48
48
  ## Running the tests
49
49
 
50
- There is a test script included with the exercise; a file with the extension
51
- `.t`. You can run the test script for the exercise by executing the command
52
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
53
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
54
- tests marked as 'TODO'.
50
+ There is a test suite and module included with the exercise.
51
+ The test suite (a file with the extension `.t`) will attempt to run routines
52
+ from the module (a file with the extension `.pm6`).
53
+ Add/modify routines in the module so that the tests will pass! You can view the
54
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
55
+ test suite), and run the test suite for the exercise by executing the command
56
+ `prove . --exec=perl6` in the exercise directory.
57
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
58
+ tests, including any optional tests marked as 'TODO'.
55
59
 
56
60
  ## Source
57
61
 
@@ -12,8 +12,7 @@ Given an age in seconds, calculate how old someone would be on:
12
12
  - Neptune: orbital period 164.79132 Earth years
13
13
 
14
14
  So if you were told someone were 1,000,000,000 seconds old, you should
15
- be able to say that they're 31.69 Earth-years old. Round all ages to
16
- the nearest hundredth of a year.
15
+ be able to say that they're 31.69 Earth-years old.
17
16
 
18
17
  If you're wondering why Pluto didn't make the cut, go watch [this
19
18
  youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
@@ -26,11 +25,15 @@ examples if you get stuck.
26
25
 
27
26
  ## Running the tests
28
27
 
29
- There is a test script included with the exercise; a file with the extension
30
- `.t`. You can run the test script for the exercise by executing the command
31
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
32
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
33
- tests marked as 'TODO'.
28
+ There is a test suite and module included with the exercise.
29
+ The test suite (a file with the extension `.t`) will attempt to run routines
30
+ from the module (a file with the extension `.pm6`).
31
+ Add/modify routines in the module so that the tests will pass! You can view the
32
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
33
+ test suite), and run the test suite for the exercise by executing the command
34
+ `prove . --exec=perl6` in the exercise directory.
35
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
36
+ tests, including any optional tests marked as 'TODO'.
34
37
 
35
38
  ## Source
36
39
 
@@ -29,11 +29,15 @@ examples if you get stuck.
29
29
 
30
30
  ## Running the tests
31
31
 
32
- There is a test script included with the exercise; a file with the extension
33
- `.t`. You can run the test script for the exercise by executing the command
34
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
35
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
36
- tests marked as 'TODO'.
32
+ There is a test suite and module included with the exercise.
33
+ The test suite (a file with the extension `.t`) will attempt to run routines
34
+ from the module (a file with the extension `.pm6`).
35
+ Add/modify routines in the module so that the tests will pass! You can view the
36
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
37
+ test suite), and run the test suite for the exercise by executing the command
38
+ `prove . --exec=perl6` in the exercise directory.
39
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
40
+ tests, including any optional tests marked as 'TODO'.
37
41
 
38
42
  ## Source
39
43
 
@@ -19,11 +19,15 @@ examples if you get stuck.
19
19
 
20
20
  ## Running the tests
21
21
 
22
- There is a test script included with the exercise; a file with the extension
23
- `.t`. You can run the test script for the exercise by executing the command
24
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
25
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
26
- tests marked as 'TODO'.
22
+ There is a test suite and module included with the exercise.
23
+ The test suite (a file with the extension `.t`) will attempt to run routines
24
+ from the module (a file with the extension `.pm6`).
25
+ Add/modify routines in the module so that the tests will pass! You can view the
26
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
27
+ test suite), and run the test suite for the exercise by executing the command
28
+ `prove . --exec=perl6` in the exercise directory.
29
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
30
+ tests, including any optional tests marked as 'TODO'.
27
31
 
28
32
  ## Source
29
33
 
@@ -59,11 +59,15 @@ examples if you get stuck.
59
59
 
60
60
  ## Running the tests
61
61
 
62
- There is a test script included with the exercise; a file with the extension
63
- `.t`. You can run the test script for the exercise by executing the command
64
- `prove . --exec=perl6` in the exercise directory. You can also add the `-v` flag
65
- e.g. `prove . --exec=perl6 -v` to display all tests, including any optional
66
- tests marked as 'TODO'.
62
+ There is a test suite and module included with the exercise.
63
+ The test suite (a file with the extension `.t`) will attempt to run routines
64
+ from the module (a file with the extension `.pm6`).
65
+ Add/modify routines in the module so that the tests will pass! You can view the
66
+ test data by executing the command `perl6 --doc *.t` (\* being the name of the
67
+ test suite), and run the test suite for the exercise by executing the command
68
+ `prove . --exec=perl6` in the exercise directory.
69
+ You can also add the `-v` flag e.g. `prove . --exec=perl6 -v` to display all
70
+ tests, including any optional tests marked as 'TODO'.
67
71
 
68
72
  ## Source
69
73
 
@@ -1,331 +1,329 @@
1
1
  {
2
- "language": "R",
3
2
  "active": true,
4
3
  "blurb": "R is an interpreted, open source programming language with powerful data manipulation and graphical capabilities. It has a thriving package ecosystem and is one of the most popular languages for data science.",
5
- "foregone": [
6
-
7
- ],
8
4
  "exercises": [
9
5
  {
10
- "uuid": "285404a4-d8f8-469d-b183-920b08ba2430",
11
- "slug": "hello-world",
12
6
  "core": true,
13
7
  "difficulty": 1,
8
+ "slug": "hello-world",
14
9
  "topics": [
15
- "text_formatting",
16
- "optional_values"
17
- ]
10
+ "optional_values",
11
+ "text_formatting"
12
+ ],
13
+ "uuid": "285404a4-d8f8-469d-b183-920b08ba2430"
18
14
  },
19
15
  {
20
- "uuid": "4be11d9f-db6a-4edd-af35-7d33d2dc9c0f",
21
- "slug": "leap",
22
16
  "core": true,
23
17
  "difficulty": 1,
18
+ "slug": "leap",
24
19
  "topics": [
25
20
  "booleans",
26
21
  "integers",
27
22
  "logic"
28
- ]
23
+ ],
24
+ "uuid": "4be11d9f-db6a-4edd-af35-7d33d2dc9c0f"
29
25
  },
30
26
  {
31
- "uuid": "dcc7171a-6b7d-4749-a300-a7270a095486",
32
- "slug": "hamming",
33
27
  "core": true,
34
28
  "difficulty": 1,
29
+ "slug": "hamming",
35
30
  "topics": [
36
- "strings",
37
- "filtering"
38
- ]
31
+ "filtering",
32
+ "strings"
33
+ ],
34
+ "uuid": "dcc7171a-6b7d-4749-a300-a7270a095486"
39
35
  },
40
36
  {
41
- "uuid": "12e17ede-ff59-45d1-8c66-b07b7ede5702",
42
- "slug": "rna-transcription",
43
37
  "core": false,
44
- "unlocked_by": "hamming",
45
38
  "difficulty": 1,
39
+ "slug": "rna-transcription",
46
40
  "topics": [
47
41
  "strings",
48
42
  "transforming"
49
- ]
43
+ ],
44
+ "unlocked_by": "hamming",
45
+ "uuid": "12e17ede-ff59-45d1-8c66-b07b7ede5702"
50
46
  },
51
47
  {
52
- "uuid": "6a562684-5938-4ad9-b042-7b44a8cc4561",
53
- "slug": "difference-of-squares",
54
48
  "core": false,
55
- "unlocked_by": null,
56
49
  "difficulty": 1,
50
+ "slug": "difference-of-squares",
57
51
  "topics": [
58
52
  "integers",
59
53
  "mathematics"
60
- ]
54
+ ],
55
+ "unlocked_by": null,
56
+ "uuid": "6a562684-5938-4ad9-b042-7b44a8cc4561"
61
57
  },
62
58
  {
63
- "uuid": "955604ef-266f-42c9-abde-ce0fdc2d33ad",
64
- "slug": "raindrops",
65
59
  "core": true,
66
60
  "difficulty": 1,
61
+ "slug": "raindrops",
67
62
  "topics": [
68
- "text_formatting",
69
- "filtering"
70
- ]
63
+ "filtering",
64
+ "text_formatting"
65
+ ],
66
+ "uuid": "955604ef-266f-42c9-abde-ce0fdc2d33ad"
71
67
  },
72
68
  {
73
- "uuid": "fb1b7105-98f5-4f4f-8f5c-c410844cc4d3",
74
- "slug": "grains",
75
69
  "core": false,
76
- "unlocked_by": null,
77
70
  "difficulty": 1,
71
+ "slug": "grains",
78
72
  "topics": [
79
- "integers",
73
+ "integers",
80
74
  "mathematics"
81
- ]
75
+ ],
76
+ "unlocked_by": null,
77
+ "uuid": "fb1b7105-98f5-4f4f-8f5c-c410844cc4d3"
82
78
  },
83
79
  {
84
- "uuid": "da01ce65-8c7d-4646-ace4-c067d92f656b",
85
- "slug": "bob",
86
80
  "core": true,
87
81
  "difficulty": 2,
82
+ "slug": "bob",
88
83
  "topics": [
89
84
  "control_flow_conditionals",
90
85
  "strings"
91
- ]
86
+ ],
87
+ "uuid": "da01ce65-8c7d-4646-ace4-c067d92f656b"
92
88
  },
93
89
  {
94
- "uuid": "105a3de5-3dea-4880-927a-6eed89a97a07",
95
- "slug": "anagram",
96
90
  "core": true,
97
91
  "difficulty": 3,
92
+ "slug": "anagram",
98
93
  "topics": [
99
- "strings",
100
- "filtering"
101
- ]
94
+ "filtering",
95
+ "strings"
96
+ ],
97
+ "uuid": "105a3de5-3dea-4880-927a-6eed89a97a07"
102
98
  },
103
99
  {
104
- "uuid": "b8b3a324-8d62-49d4-ba28-886883e5c549",
105
- "slug": "space-age",
106
100
  "core": false,
107
- "unlocked_by": null,
108
101
  "difficulty": 1,
102
+ "slug": "space-age",
109
103
  "topics": [
110
104
  "floating_point_numbers"
111
- ]
105
+ ],
106
+ "unlocked_by": null,
107
+ "uuid": "b8b3a324-8d62-49d4-ba28-886883e5c549"
112
108
  },
113
109
  {
114
- "uuid": "581b968c-f78f-4b60-9eb0-8c73eeeb96af",
115
- "slug": "sum-of-multiples",
116
110
  "core": true,
117
111
  "difficulty": 2,
112
+ "slug": "sum-of-multiples",
118
113
  "topics": [
119
114
  "lists",
120
115
  "mathematics"
121
- ]
116
+ ],
117
+ "uuid": "581b968c-f78f-4b60-9eb0-8c73eeeb96af"
122
118
  },
123
119
  {
124
- "uuid": "a7cbf043-504b-4fc8-b7fb-33a88ac7962d",
125
- "slug": "word-count",
126
120
  "core": true,
127
121
  "difficulty": 2,
122
+ "slug": "word-count",
128
123
  "topics": [
129
124
  "strings",
130
125
  "transforming"
131
- ]
126
+ ],
127
+ "uuid": "a7cbf043-504b-4fc8-b7fb-33a88ac7962d"
132
128
  },
133
129
  {
134
- "uuid": "e5166378-e3fc-4393-b4f8-4c36da444c56",
135
- "slug": "phone-number",
136
130
  "core": true,
137
131
  "difficulty": 2,
132
+ "slug": "phone-number",
138
133
  "topics": [
139
134
  "parsing",
140
135
  "transforming"
141
- ]
136
+ ],
137
+ "uuid": "e5166378-e3fc-4393-b4f8-4c36da444c56"
142
138
  },
143
139
  {
144
- "uuid": "8bde91c5-2fe7-4f8d-91ec-ed05284b9a49",
145
- "slug": "rotational-cipher",
146
140
  "core": true,
147
141
  "difficulty": 3,
142
+ "slug": "rotational-cipher",
148
143
  "topics": [
149
144
  "strings"
150
- ]
145
+ ],
146
+ "uuid": "8bde91c5-2fe7-4f8d-91ec-ed05284b9a49"
151
147
  },
152
148
  {
153
- "uuid": "c82dfe0c-77c9-4a3b-8110-962a9547ac64",
154
- "slug": "scrabble-score",
155
149
  "core": false,
156
- "unlocked_by": "word-count",
157
150
  "difficulty": 2,
151
+ "slug": "scrabble-score",
158
152
  "topics": [
159
153
  "strings",
160
154
  "transforming"
161
- ]
155
+ ],
156
+ "unlocked_by": "word-count",
157
+ "uuid": "c82dfe0c-77c9-4a3b-8110-962a9547ac64"
162
158
  },
163
159
  {
164
- "uuid": "4ea6d28b-f2bd-4785-ad9f-8eed6a9c67eb",
165
- "slug": "isogram",
166
160
  "core": false,
167
- "unlocked_by": "anagram",
168
161
  "difficulty": 2,
162
+ "slug": "isogram",
169
163
  "topics": [
170
- "strings",
171
- "filtering"
172
- ]
164
+ "filtering",
165
+ "strings"
166
+ ],
167
+ "unlocked_by": "anagram",
168
+ "uuid": "4ea6d28b-f2bd-4785-ad9f-8eed6a9c67eb"
173
169
  },
174
170
  {
175
- "uuid": "3fd2d6dd-6d4d-4b7f-9f1e-0de11899dcb5",
176
- "slug": "beer-song",
177
171
  "core": false,
178
- "unlocked_by": "bob",
179
172
  "difficulty": 3,
173
+ "slug": "beer-song",
180
174
  "topics": [
181
175
  "control_flow_conditionals",
182
176
  "text_formatting"
183
- ]
177
+ ],
178
+ "unlocked_by": "bob",
179
+ "uuid": "3fd2d6dd-6d4d-4b7f-9f1e-0de11899dcb5"
184
180
  },
185
181
  {
186
- "uuid": "cef7ba44-5b9a-4fc3-b853-9b598e743ba8",
187
- "slug": "perfect-numbers",
188
182
  "core": false,
189
- "unlocked_by": "leap",
190
183
  "difficulty": 2,
184
+ "slug": "perfect-numbers",
191
185
  "topics": [
192
- "integers",
193
- "control_flow_conditionals"
194
- ]
186
+ "control_flow_conditionals",
187
+ "integers"
188
+ ],
189
+ "unlocked_by": "leap",
190
+ "uuid": "cef7ba44-5b9a-4fc3-b853-9b598e743ba8"
195
191
  },
196
192
  {
197
- "uuid": "ee849e23-d709-4e4a-ab89-07a87e13e4fb",
198
- "slug": "prime-factors",
199
193
  "core": false,
200
- "unlocked_by": "sum-of-multiples",
201
194
  "difficulty": 3,
195
+ "slug": "prime-factors",
202
196
  "topics": [
203
197
  "integers",
204
198
  "mathematics"
205
- ]
199
+ ],
200
+ "unlocked_by": "sum-of-multiples",
201
+ "uuid": "ee849e23-d709-4e4a-ab89-07a87e13e4fb"
206
202
  },
207
203
  {
208
- "uuid": "dabc8218-8ab8-4918-85d3-0afd5b6791c6",
209
- "slug": "sieve",
210
204
  "core": false,
211
- "unlocked_by": "sum-of-multiples",
212
205
  "difficulty": 3,
206
+ "slug": "sieve",
213
207
  "topics": [
214
208
  "filtering",
215
209
  "mathematics"
216
- ]
210
+ ],
211
+ "unlocked_by": "sum-of-multiples",
212
+ "uuid": "dabc8218-8ab8-4918-85d3-0afd5b6791c6"
217
213
  },
218
214
  {
219
- "uuid": "a1b4bde3-2ee7-42dd-85c5-4303ae546d15",
220
- "slug": "largest-series-product",
221
215
  "core": true,
222
216
  "difficulty": 3,
217
+ "slug": "largest-series-product",
223
218
  "topics": [
224
- "strings",
225
- "integers",
219
+ "integers",
220
+ "strings",
226
221
  "transforming"
227
- ]
222
+ ],
223
+ "uuid": "a1b4bde3-2ee7-42dd-85c5-4303ae546d15"
228
224
  },
229
225
  {
230
- "uuid": "33157f48-a2d9-4fae-a9c8-5df547473f1a",
231
- "slug": "luhn",
232
226
  "core": false,
233
- "unlocked_by": "phone-number",
234
227
  "difficulty": 3,
228
+ "slug": "luhn",
235
229
  "topics": [
236
- "strings",
237
- "algorithms",
230
+ "algorithms",
231
+ "strings",
238
232
  "transforming"
239
- ]
233
+ ],
234
+ "unlocked_by": "phone-number",
235
+ "uuid": "33157f48-a2d9-4fae-a9c8-5df547473f1a"
240
236
  },
241
237
  {
242
- "uuid": "eacc30e1-d02c-4ccb-b1f7-3d4f16358726",
243
- "slug": "secret-handshake",
244
238
  "core": false,
245
- "unlocked_by": "raindrops",
246
239
  "difficulty": 2,
240
+ "slug": "secret-handshake",
247
241
  "topics": [
248
- "control_flow_conditionals",
249
- "bitwise_ operations"
250
- ]
242
+ "bitwise__operations",
243
+ "control_flow_conditionals"
244
+ ],
245
+ "unlocked_by": "raindrops",
246
+ "uuid": "eacc30e1-d02c-4ccb-b1f7-3d4f16358726"
251
247
  },
252
248
  {
253
- "uuid": "f3e93545-7466-4635-b508-7e02517fdf06",
254
- "slug": "pascals-triangle",
255
249
  "core": false,
256
- "unlocked_by": "sum-of-multiples",
257
250
  "difficulty": 3,
251
+ "slug": "pascals-triangle",
258
252
  "topics": [
259
253
  "control_flow_conditionals",
260
254
  "mathematics"
261
- ]
255
+ ],
256
+ "unlocked_by": "sum-of-multiples",
257
+ "uuid": "f3e93545-7466-4635-b508-7e02517fdf06"
262
258
  },
263
259
  {
264
- "uuid": "acf63670-7e56-47c1-9f33-7ec076d5270f",
265
- "slug": "tournament",
266
260
  "core": false,
267
- "unlocked_by": "phone-number",
268
261
  "difficulty": 4,
262
+ "slug": "tournament",
269
263
  "topics": [
270
- "text_formatting",
271
- "parsing"
272
- ]
264
+ "parsing",
265
+ "text_formatting"
266
+ ],
267
+ "unlocked_by": "phone-number",
268
+ "uuid": "acf63670-7e56-47c1-9f33-7ec076d5270f"
273
269
  },
274
270
  {
275
- "uuid": "a81a1820-5da7-4e6e-99f2-17d71d37bd99",
276
- "slug": "nucleotide-count",
277
271
  "core": false,
278
- "unlocked_by": "word-count",
279
272
  "difficulty": 2,
273
+ "slug": "nucleotide-count",
280
274
  "topics": [
281
275
  "lists",
282
276
  "transforming"
283
- ]
277
+ ],
278
+ "unlocked_by": "word-count",
279
+ "uuid": "a81a1820-5da7-4e6e-99f2-17d71d37bd99"
284
280
  },
285
281
  {
286
- "uuid": "022148a9-0c8f-42f3-8f32-2cc1cb5d7f7e",
287
- "slug": "pangram",
288
282
  "core": false,
289
- "unlocked_by": "anagram",
290
283
  "difficulty": 2,
284
+ "slug": "pangram",
291
285
  "topics": [
292
286
  "regular_expressions",
293
287
  "strings"
294
- ]
288
+ ],
289
+ "unlocked_by": "anagram",
290
+ "uuid": "022148a9-0c8f-42f3-8f32-2cc1cb5d7f7e"
295
291
  },
296
292
  {
297
- "uuid": "d3b2f968-32e2-4df7-a29a-f02ba2c7d581",
298
- "slug": "triangle",
299
293
  "core": false,
300
- "unlocked_by": "sum-of-multiples",
301
294
  "difficulty": 3,
295
+ "slug": "triangle",
302
296
  "topics": [
303
297
  "classes",
304
298
  "mathematics"
305
- ]
299
+ ],
300
+ "unlocked_by": "sum-of-multiples",
301
+ "uuid": "d3b2f968-32e2-4df7-a29a-f02ba2c7d581"
306
302
  },
307
303
  {
308
- "uuid": "4f38e325-587f-4a80-8c8f-6c45ec710e80",
309
- "slug": "collatz-conjecture",
310
304
  "core": false,
311
- "unlocked_by": "sum-of-multiples",
312
305
  "difficulty": 2,
306
+ "slug": "collatz-conjecture",
313
307
  "topics": [
314
308
  "control_flow_conditionals",
315
309
  "recursion"
316
- ]
310
+ ],
311
+ "unlocked_by": "sum-of-multiples",
312
+ "uuid": "4f38e325-587f-4a80-8c8f-6c45ec710e80"
317
313
  },
318
314
  {
319
- "uuid": "2f7b585f-f82f-4dca-9588-2df3250184e6",
320
- "slug": "allergies",
321
315
  "core": false,
322
- "unlocked_by": "sum-of-multiples",
323
316
  "difficulty": 3,
317
+ "slug": "allergies",
324
318
  "topics": [
325
- "lists",
319
+ "control_flow_conditionals",
326
320
  "filtering",
327
- "control_flow_conditionals"
328
- ]
321
+ "lists"
322
+ ],
323
+ "unlocked_by": "sum-of-multiples",
324
+ "uuid": "2f7b585f-f82f-4dca-9588-2df3250184e6"
329
325
  }
330
- ]
331
- }
326
+ ],
327
+ "foregone": [],
328
+ "language": "R"
329
+ }