trackler 2.2.0.0 → 2.2.0.1
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/CONTRIBUTING.md +1 -1
- data/tracks/bash/.travis.yml +1 -1
- data/tracks/bash/config.json +30 -3
- data/tracks/c/README.md +1 -1
- data/tracks/c/config.json +131 -39
- data/tracks/ceylon/README.md +6 -6
- data/tracks/ceylon/config.json +21 -3
- data/tracks/chapel/.travis.yml +1 -1
- data/tracks/clojurescript/.travis.yml +1 -1
- data/tracks/clojurescript/README.md +6 -6
- data/tracks/clojurescript/exercises/.keep +0 -0
- data/tracks/coffeescript/.travis.yml +1 -1
- data/tracks/coldfusion/.travis.yml +1 -1
- data/tracks/coq/.travis.yml +1 -1
- data/tracks/cpp/CMakeLists.txt +1 -0
- data/tracks/cpp/README.md +1 -1
- data/tracks/cpp/config.json +8 -0
- data/tracks/cpp/exercises/atbash-cipher/CMakeLists.txt +52 -0
- data/tracks/cpp/exercises/atbash-cipher/atbash_cipher_test.cpp +68 -0
- data/tracks/cpp/exercises/atbash-cipher/example.cpp +54 -0
- data/tracks/cpp/exercises/atbash-cipher/example.h +13 -0
- data/tracks/csharp/config.json +315 -6
- data/tracks/d/.travis.yml +1 -1
- data/tracks/dart/README.md +2 -2
- data/tracks/dart/config.json +21 -3
- data/tracks/delphi/README.md +1 -1
- data/tracks/delphi/config.json +83 -1
- data/tracks/ecmascript/config.json +10 -0
- data/tracks/ecmascript/exercises/accumulate/accumulate.spec.js +3 -9
- data/tracks/ecmascript/exercises/acronym/acronym.spec.js +2 -2
- data/tracks/ecmascript/exercises/all-your-base/all-your-base.spec.js +131 -133
- data/tracks/ecmascript/exercises/all-your-base/example.js +1 -3
- data/tracks/ecmascript/exercises/allergies/allergies.spec.js +8 -10
- data/tracks/ecmascript/exercises/allergies/example.js +3 -5
- data/tracks/ecmascript/exercises/alphametics/alphametics.spec.js +61 -63
- data/tracks/ecmascript/exercises/alphametics/example.js +99 -99
- data/tracks/ecmascript/exercises/anagram/anagram.spec.js +35 -37
- data/tracks/ecmascript/exercises/anagram/example.js +1 -3
- data/tracks/ecmascript/exercises/atbash-cipher/atbash-cipher.spec.js +1 -3
- data/tracks/ecmascript/exercises/atbash-cipher/example.js +3 -3
- data/tracks/ecmascript/exercises/beer-song/beer-song.spec.js +0 -2
- data/tracks/ecmascript/exercises/beer-song/example.js +9 -9
- data/tracks/ecmascript/exercises/binary/binary.spec.js +1 -2
- data/tracks/ecmascript/exercises/binary/example.js +3 -3
- data/tracks/ecmascript/exercises/binary-search/binary-search.spec.js +1 -3
- data/tracks/ecmascript/exercises/binary-search-tree/binary-search-tree.spec.js +13 -15
- data/tracks/ecmascript/exercises/binary-search-tree/example.js +2 -2
- data/tracks/ecmascript/exercises/bob/bob.spec.js +1 -3
- data/tracks/ecmascript/exercises/bob/example.js +3 -3
- data/tracks/ecmascript/exercises/bracket-push/example.js +2 -2
- data/tracks/ecmascript/exercises/circular-buffer/circular-buffer.spec.js +10 -12
- data/tracks/ecmascript/exercises/circular-buffer/example.js +12 -11
- data/tracks/ecmascript/exercises/clock/clock.spec.js +0 -8
- data/tracks/ecmascript/exercises/clock/example.js +11 -11
- data/tracks/ecmascript/exercises/connect/connect.spec.js +75 -77
- data/tracks/ecmascript/exercises/connect/example.js +27 -29
- data/tracks/ecmascript/exercises/crypto-square/crypto-square.spec.js +11 -11
- data/tracks/ecmascript/exercises/crypto-square/example.js +11 -10
- data/tracks/ecmascript/exercises/custom-set/custom-set.spec.js +2 -4
- data/tracks/ecmascript/exercises/custom-set/example.js +1 -1
- data/tracks/ecmascript/exercises/diamond/diamond.spec.js +20 -21
- data/tracks/ecmascript/exercises/diamond/example.js +12 -13
- data/tracks/ecmascript/exercises/difference-of-squares/difference-of-squares.spec.js +0 -5
- data/tracks/ecmascript/exercises/diffie-hellman/diffie-hellman.spec.js +7 -28
- data/tracks/ecmascript/exercises/etl/etl.spec.js +36 -18
- data/tracks/ecmascript/exercises/etl/example.js +3 -3
- data/tracks/ecmascript/exercises/flatten-array/example.js +1 -1
- data/tracks/ecmascript/exercises/flatten-array/flatten-array.spec.js +2 -3
- data/tracks/ecmascript/exercises/food-chain/example.js +12 -12
- data/tracks/ecmascript/exercises/food-chain/food-chain.spec.js +0 -1
- data/tracks/ecmascript/exercises/gigasecond/example.js +1 -1
- data/tracks/ecmascript/exercises/gigasecond/gigasecond.spec.js +0 -1
- data/tracks/ecmascript/exercises/grade-school/grade-school.spec.js +18 -19
- data/tracks/ecmascript/exercises/grains/grains.spec.js +0 -1
- data/tracks/ecmascript/exercises/hamming/example.js +3 -3
- data/tracks/ecmascript/exercises/hamming/hamming.spec.js +5 -6
- data/tracks/ecmascript/exercises/hello-world/example.js +1 -1
- data/tracks/ecmascript/exercises/hello-world/hello-world.spec.js +1 -1
- data/tracks/ecmascript/exercises/hexadecimal/example.js +2 -2
- data/tracks/ecmascript/exercises/hexadecimal/hexadecimal.spec.js +9 -11
- data/tracks/ecmascript/exercises/isogram/isogram.spec.js +22 -23
- data/tracks/ecmascript/exercises/kindergarten-garden/example.js +7 -7
- data/tracks/ecmascript/exercises/kindergarten-garden/kindergarten-garden.spec.js +0 -5
- data/tracks/ecmascript/exercises/largest-series-product/example.js +4 -8
- data/tracks/ecmascript/exercises/largest-series-product/largest-series-product.spec.js +5 -7
- data/tracks/ecmascript/exercises/leap/leap.spec.js +4 -6
- data/tracks/ecmascript/exercises/linked-list/example.js +2 -2
- data/tracks/ecmascript/exercises/list-ops/example.js +19 -19
- data/tracks/ecmascript/exercises/list-ops/list-ops.spec.js +2 -18
- data/tracks/ecmascript/exercises/luhn/example.js +1 -1
- data/tracks/ecmascript/exercises/luhn/luhn.spec.js +1 -3
- data/tracks/ecmascript/exercises/matrix/example.js +2 -4
- data/tracks/ecmascript/exercises/matrix/matrix.spec.js +0 -2
- data/tracks/ecmascript/exercises/meetup/example.js +12 -15
- data/tracks/ecmascript/exercises/meetup/meetup.spec.js +0 -2
- data/tracks/ecmascript/exercises/minesweeper/example.js +60 -0
- data/tracks/ecmascript/exercises/minesweeper/minesweeper.spec.js +174 -0
- data/tracks/ecmascript/exercises/minesweeper/package.json +69 -0
- data/tracks/ecmascript/exercises/nth-prime/example.js +3 -2
- data/tracks/ecmascript/exercises/nth-prime/nth-prime.spec.js +0 -1
- data/tracks/ecmascript/exercises/ocr-numbers/example.js +3 -3
- data/tracks/ecmascript/exercises/ocr-numbers/ocr-numbers.spec.js +16 -18
- data/tracks/ecmascript/exercises/octal/example.js +1 -1
- data/tracks/ecmascript/exercises/octal/octal.spec.js +0 -2
- data/tracks/ecmascript/exercises/palindrome-products/example.js +14 -11
- data/tracks/ecmascript/exercises/palindrome-products/palindrome-products.spec.js +15 -18
- data/tracks/ecmascript/exercises/pangram/example.js +6 -5
- data/tracks/ecmascript/exercises/pangram/pangram.spec.js +10 -12
- data/tracks/ecmascript/exercises/pascals-triangle/example.js +2 -2
- data/tracks/ecmascript/exercises/pascals-triangle/pascals-triangle.spec.js +6 -8
- data/tracks/ecmascript/exercises/perfect-numbers/example.js +3 -5
- data/tracks/ecmascript/exercises/perfect-numbers/perfect-numbers.spec.js +0 -10
- data/tracks/ecmascript/exercises/phone-number/example.js +2 -2
- data/tracks/ecmascript/exercises/phone-number/phone-number.spec.js +0 -2
- data/tracks/ecmascript/exercises/pig-latin/example.js +4 -4
- data/tracks/ecmascript/exercises/pig-latin/pig-latin.spec.js +0 -1
- data/tracks/ecmascript/exercises/prime-factors/example.js +2 -2
- data/tracks/ecmascript/exercises/prime-factors/prime-factors.spec.js +0 -2
- data/tracks/ecmascript/exercises/pythagorean-triplet/pythagorean-triplet.spec.js +3 -11
- data/tracks/ecmascript/exercises/queen-attack/example.js +17 -17
- data/tracks/ecmascript/exercises/queen-attack/queen-attack.spec.js +7 -8
- data/tracks/ecmascript/exercises/raindrops/example.js +1 -1
- data/tracks/ecmascript/exercises/raindrops/raindrops.spec.js +1 -2
- data/tracks/ecmascript/exercises/rna-transcription/example.js +5 -5
- data/tracks/ecmascript/exercises/rna-transcription/rna-transcription.spec.js +4 -5
- data/tracks/ecmascript/exercises/robot-name/example.js +6 -6
- data/tracks/ecmascript/exercises/robot-name/robot-name.spec.js +10 -11
- data/tracks/ecmascript/exercises/robot-simulator/example.js +1 -1
- data/tracks/ecmascript/exercises/robot-simulator/robot-simulator.spec.js +31 -32
- data/tracks/ecmascript/exercises/roman-numerals/example.js +16 -16
- data/tracks/ecmascript/exercises/saddle-points/saddle-points.spec.js +3 -3
- data/tracks/ecmascript/exercises/say/example.js +25 -25
- data/tracks/ecmascript/exercises/say/say.spec.js +2 -3
- data/tracks/ecmascript/exercises/scrabble-score/example.js +27 -9
- data/tracks/ecmascript/exercises/scrabble-score/scrabble-score.spec.js +6 -7
- data/tracks/ecmascript/exercises/secret-handshake/example.js +2 -3
- data/tracks/ecmascript/exercises/secret-handshake/secret-handshake.spec.js +3 -5
- data/tracks/ecmascript/exercises/series/series.spec.js +1 -3
- data/tracks/ecmascript/exercises/sieve/example.js +4 -3
- data/tracks/ecmascript/exercises/sieve/sieve.spec.js +0 -2
- data/tracks/ecmascript/exercises/simple-cipher/example.js +8 -9
- data/tracks/ecmascript/exercises/simple-cipher/simple-cipher.spec.js +4 -4
- data/tracks/ecmascript/exercises/space-age/example.js +1 -1
- data/tracks/ecmascript/exercises/space-age/space-age.spec.js +9 -11
- data/tracks/ecmascript/exercises/strain/example.js +4 -4
- data/tracks/ecmascript/exercises/strain/strain.spec.js +14 -16
- data/tracks/ecmascript/exercises/sum-of-multiples/example.js +4 -4
- data/tracks/ecmascript/exercises/triangle/triangle.spec.js +2 -4
- data/tracks/ecmascript/exercises/trinary/example.js +3 -3
- data/tracks/ecmascript/exercises/trinary/trinary.spec.js +0 -2
- data/tracks/ecmascript/exercises/two-bucket/example.js +30 -27
- data/tracks/ecmascript/exercises/two-bucket/two-bucket.spec.js +4 -8
- data/tracks/ecmascript/exercises/word-count/example.js +2 -2
- data/tracks/ecmascript/exercises/word-count/word-count.spec.js +2 -3
- data/tracks/ecmascript/exercises/wordy/example.js +6 -6
- data/tracks/ecmascript/exercises/wordy/wordy.spec.js +2 -4
- data/tracks/factor/config.json +15 -6
- data/tracks/fortran/.travis.yml +1 -1
- data/tracks/fsharp/config.json +312 -10
- data/tracks/go/README.md +1 -1
- data/tracks/go/config.json +523 -155
- data/tracks/haskell/README.md +2 -2
- data/tracks/haskell/config.json +256 -7
- data/tracks/haxe/.travis.yml +1 -1
- data/tracks/haxe/Makefile +2 -2
- data/tracks/haxe/config.json +8 -5
- data/tracks/java/CONTRIBUTING.md +2 -2
- data/tracks/java/config.json +277 -17
- data/tracks/java/exercises/rotational-cipher/build.gradle +17 -0
- data/tracks/java/exercises/rotational-cipher/src/example/java/RotationalCipher.java +37 -0
- data/tracks/java/exercises/rotational-cipher/src/main/java/.keep +0 -0
- data/tracks/java/exercises/rotational-cipher/src/test/java/RotationalCipherTest.java +81 -0
- data/tracks/java/exercises/settings.gradle +1 -0
- data/tracks/java/exercises/twelve-days/src/main/java/TwelveDays.java +4 -0
- data/tracks/julia/.travis.yml +1 -1
- data/tracks/julia/README.md +1 -1
- data/tracks/kotlin/README.md +2 -2
- data/tracks/kotlin/exercises/hello-world/TUTORIAL.md +3 -3
- data/tracks/lisp/config.json +97 -3
- data/tracks/lisp/exercises/pascals-triangle/example.lisp +21 -0
- data/tracks/lisp/exercises/pascals-triangle/pascal.lisp +7 -0
- data/tracks/lisp/exercises/pascals-triangle/pascals-triangle-test.lisp +34 -0
- data/tracks/lua/.travis.yml +1 -1
- data/tracks/lua/README.md +1 -1
- data/tracks/mips/.travis.yml +1 -1
- data/tracks/mips/config.json +56 -17
- data/tracks/nasm/.travis.yml +1 -1
- data/tracks/nim/.travis.yml +1 -1
- data/tracks/ocaml/README.md +3 -3
- data/tracks/ocaml/config.json +130 -4
- data/tracks/perl5/docs/TESTS.md +40 -26
- data/tracks/plsql/.travis.yml +1 -1
- data/tracks/plsql/config.json +40 -13
- data/tracks/pony/.travis.yml +1 -1
- data/tracks/pony/bin/install-deps +4 -3
- data/tracks/prolog/.travis.yml +1 -1
- data/tracks/r/README.md +5 -5
- data/tracks/r/config.json +102 -30
- data/tracks/rust/.travis.yml +1 -1
- data/tracks/rust/config.json +172 -4
- data/tracks/rust/docs/EXERCISE_README_INSERT.md +1 -1
- data/tracks/sml/config.json +26 -3
- data/tracks/vimscript/config.json +60 -3
- metadata +16 -1
data/tracks/perl5/docs/TESTS.md
CHANGED
@@ -1,34 +1,48 @@
|
|
1
|
-
|
1
|
+
## Run All Tests
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
There is a Perl 5 script with the extension `.t`, which will be used to test
|
4
|
+
your solution. You can run through the tests by using the command:
|
5
|
+
|
6
|
+
`prove .`
|
6
7
|
|
7
|
-
|
8
|
+
Before you start the exercise, the output will likely look something like:
|
8
9
|
|
9
|
-
|
10
|
-
|
11
|
-
|
10
|
+
```
|
11
|
+
./hello-world.t .. 1/4
|
12
|
+
# Failed test 'Say Hi!'
|
13
|
+
# at ./hello-world.t line 33.
|
14
|
+
# got: undef
|
15
|
+
# expected: 'Hello, World!'
|
16
|
+
# Looks like you failed 1 test of 4.
|
17
|
+
./hello-world.t .. Dubious, test returned 1 (wstat 256, 0x100)
|
18
|
+
Failed 1/4 subtests
|
19
|
+
(less 1 skipped subtest: 2 okay)
|
20
|
+
|
21
|
+
Test Summary Report
|
22
|
+
-------------------
|
23
|
+
./hello-world.t (Wstat: 256 Tests: 4 Failed: 1)
|
24
|
+
Failed test: 3
|
25
|
+
Non-zero exit status: 1
|
26
|
+
Files=1, Tests=4, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.08 cusr 0.01 csys = 0.12 CPU)
|
27
|
+
Result: FAIL
|
28
|
+
```
|
29
|
+
You will either need to modify or create a module with the extension `.pm`, and
|
30
|
+
write a solution to pass the tests. Once the tests are passing, the output from
|
31
|
+
the command above will likely look something like:
|
12
32
|
|
13
|
-
```
|
14
|
-
|
33
|
+
```
|
34
|
+
./hello-world.t .. ok
|
35
|
+
All tests successful.
|
36
|
+
Files=1, Tests=4, 1 wallclock secs ( 0.01 usr 0.00 sys + 0.49 cusr 0.06 csys = 0.56 CPU)
|
37
|
+
Result: PASS
|
38
|
+
```
|
15
39
|
|
16
|
-
|
17
|
-
|
18
|
-
use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
|
40
|
+
Some exercises may have optional tests. You can test for these by adding the
|
41
|
+
flag `-v` (for 'verbose') to the above command, like so:
|
19
42
|
|
20
|
-
|
21
|
-
@ISA = qw(Exporter);
|
22
|
-
@EXPORT = ();
|
23
|
-
@EXPORT_OK = qw(hey);
|
24
|
-
%EXPORT_TAGS = ( DEFAULT => [qw(&hey)],
|
25
|
-
);
|
43
|
+
`prove . -v`
|
26
44
|
|
27
|
-
|
28
|
-
#
|
29
|
-
# Your Perl solution goes here
|
30
|
-
#
|
31
|
-
}
|
45
|
+
As well as showing optional tests, it will include all of the tests that your solution currently passes.
|
32
46
|
|
33
|
-
|
34
|
-
|
47
|
+
You can find a more in-depth explanation of the `Test::More` module on
|
48
|
+
[perldoc](http://perldoc.perl.org/Test/More.html#I%27m-ok%2c-you%27re-not-ok.).
|
data/tracks/plsql/.travis.yml
CHANGED
data/tracks/plsql/config.json
CHANGED
@@ -4,79 +4,106 @@
|
|
4
4
|
"repository": "https://github.com/exercism/plsql",
|
5
5
|
"active": true,
|
6
6
|
"test_pattern": "ut.*plsql",
|
7
|
-
"deprecated": [
|
8
|
-
|
9
|
-
],
|
10
7
|
"foregone": [
|
11
8
|
|
12
9
|
],
|
13
10
|
"exercises": [
|
14
11
|
{
|
15
|
-
"
|
12
|
+
"uuid": "b779f211-ecec-45cc-8641-e7cf87ff66ce",
|
16
13
|
"slug": "hamming",
|
14
|
+
"core": false,
|
15
|
+
"unlocked_by": null,
|
16
|
+
"difficulty": 1,
|
17
17
|
"topics": [
|
18
18
|
|
19
19
|
]
|
20
20
|
},
|
21
21
|
{
|
22
|
-
"
|
22
|
+
"uuid": "6722fe30-30d2-4e99-87de-03b1a6eee0d6",
|
23
23
|
"slug": "gigasecond",
|
24
|
+
"core": false,
|
25
|
+
"unlocked_by": null,
|
26
|
+
"difficulty": 1,
|
24
27
|
"topics": [
|
25
28
|
|
26
29
|
]
|
27
30
|
},
|
28
31
|
{
|
29
|
-
"
|
32
|
+
"uuid": "eec6c29b-fbbb-48d5-a0e9-4c902281390e",
|
30
33
|
"slug": "rna-transcription",
|
34
|
+
"core": false,
|
35
|
+
"unlocked_by": null,
|
36
|
+
"difficulty": 1,
|
31
37
|
"topics": [
|
32
38
|
|
33
39
|
]
|
34
40
|
},
|
35
41
|
{
|
36
|
-
"
|
42
|
+
"uuid": "2eaf11fe-e56e-4512-b8af-8fb637582a5e",
|
37
43
|
"slug": "raindrops",
|
44
|
+
"core": false,
|
45
|
+
"unlocked_by": null,
|
46
|
+
"difficulty": 1,
|
38
47
|
"topics": [
|
39
48
|
|
40
49
|
]
|
41
50
|
},
|
42
51
|
{
|
43
|
-
"
|
52
|
+
"uuid": "f630b17b-59c1-448b-8880-85bb0c72ba5a",
|
44
53
|
"slug": "difference-of-squares",
|
54
|
+
"core": false,
|
55
|
+
"unlocked_by": null,
|
56
|
+
"difficulty": 1,
|
45
57
|
"topics": [
|
46
58
|
|
47
59
|
]
|
48
60
|
},
|
49
61
|
{
|
50
|
-
"
|
62
|
+
"uuid": "fc75b71e-e3e6-43b2-940b-65c06a6f9bc5",
|
51
63
|
"slug": "roman-numerals",
|
64
|
+
"core": false,
|
65
|
+
"unlocked_by": null,
|
66
|
+
"difficulty": 1,
|
52
67
|
"topics": [
|
53
68
|
|
54
69
|
]
|
55
70
|
},
|
56
71
|
{
|
57
|
-
"
|
72
|
+
"uuid": "bede5fe0-43bf-4483-9fc3-7030df042515",
|
58
73
|
"slug": "nth-prime",
|
74
|
+
"core": false,
|
75
|
+
"unlocked_by": null,
|
76
|
+
"difficulty": 1,
|
59
77
|
"topics": [
|
60
78
|
|
61
79
|
]
|
62
80
|
},
|
63
81
|
{
|
64
|
-
"
|
82
|
+
"uuid": "50e2a7c5-3f71-448d-b203-65b7c0e3d6d5",
|
65
83
|
"slug": "leap",
|
84
|
+
"core": false,
|
85
|
+
"unlocked_by": null,
|
86
|
+
"difficulty": 1,
|
66
87
|
"topics": [
|
67
88
|
|
68
89
|
]
|
69
90
|
},
|
70
91
|
{
|
71
|
-
"
|
92
|
+
"uuid": "1d661c32-c75d-4c0b-bf88-ed0112bb1ab2",
|
72
93
|
"slug": "grains",
|
94
|
+
"core": false,
|
95
|
+
"unlocked_by": null,
|
96
|
+
"difficulty": 1,
|
73
97
|
"topics": [
|
74
98
|
|
75
99
|
]
|
76
100
|
},
|
77
101
|
{
|
78
|
-
"
|
102
|
+
"uuid": "6277f225-5d28-45f1-b020-9b821150ecfe",
|
79
103
|
"slug": "binary",
|
104
|
+
"core": false,
|
105
|
+
"unlocked_by": null,
|
106
|
+
"difficulty": 1,
|
80
107
|
"topics": [
|
81
108
|
|
82
109
|
]
|
data/tracks/pony/.travis.yml
CHANGED
@@ -5,8 +5,8 @@ sudo apt-get install -y python-software-properties
|
|
5
5
|
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
|
6
6
|
sudo apt-get update -q
|
7
7
|
sudo apt-get install -y \
|
8
|
-
wget git apt-transport-https
|
9
|
-
zlib1g-dev libncurses5-dev libssl-dev llvm-3.
|
8
|
+
wget git apt-transport-https clang-3.9 build-essential \
|
9
|
+
zlib1g-dev libncurses5-dev libssl-dev llvm-3.9
|
10
10
|
|
11
11
|
# Install pcre2 (uncomment if regex package is ever used)
|
12
12
|
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.21.tar.bz2
|
@@ -16,4 +16,5 @@ sudo apt-get install -y \
|
|
16
16
|
|
17
17
|
# Insall ponyc
|
18
18
|
git clone "https://github.com/ponylang/ponyc"
|
19
|
-
|
19
|
+
git checkout release
|
20
|
+
cd ponyc && make CC=clang-3.9 CXX=clang++-3.9 && sudo make install && cd -
|
data/tracks/prolog/.travis.yml
CHANGED
data/tracks/r/README.md
CHANGED
@@ -30,7 +30,7 @@ If stuck or in doubt just ask! We try our best to be friendly and helpful, so do
|
|
30
30
|
- [gitter dev](https://gitter.im/exercism/dev): technical questions.
|
31
31
|
|
32
32
|
### How to contribute
|
33
|
-
As a first step we recommend you read the [contributing guide](https://github.com/exercism/
|
33
|
+
As a first step we recommend you read the [contributing guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md).
|
34
34
|
|
35
35
|
#### Reporting or fixing bugs
|
36
36
|
Typical examples for a bug: A typo, a missing test case, an unclear or ambiguous problem description.
|
@@ -43,15 +43,15 @@ If you have a dedicated opinion you are welcome to [write a comment](https://hel
|
|
43
43
|
Please be detailed and include motivations or relevant links to support your opinion.
|
44
44
|
|
45
45
|
#### Porting exercises
|
46
|
-
Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/
|
46
|
+
Here is the [list of missing exercises](http://exercism.io/languages/r/todo). See here for more information about [porting an exercise](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#porting-an-exercise-to-another-language-track).
|
47
47
|
Of course you can also add a totally new exercise, but it might be a good idea to first discuss it in one of [our forums](#asking-for-help).
|
48
48
|
|
49
49
|
#### Updating an exercise test suite
|
50
|
-
Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/
|
50
|
+
Updating the test suite of an existing exercise is a special case because it usually affects all languages. Read more about it [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#updating-an-exercise-test-suite).
|
51
51
|
Note that the test suite must run within a couple of seconds.
|
52
52
|
|
53
53
|
### Repository structure and conventions
|
54
|
-
A general description of all the files and directories can be found [here](https://github.com/exercism/
|
54
|
+
A general description of all the files and directories can be found [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#track-anatomy).
|
55
55
|
|
56
56
|
#### Directory structure
|
57
57
|
```bash
|
@@ -99,7 +99,7 @@ Each exercise has the following structure:
|
|
99
99
|
To report a bug you should [create an issue](https://help.github.com/articles/creating-an-issue/) [here](https://github.com/exercism/xr/issues).
|
100
100
|
|
101
101
|
### Writing a pull request
|
102
|
-
To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/
|
102
|
+
To fix a bug you should [create a pull request from a fork](https://help.github.com/articles/creating-a-pull-request-from-a-fork/) [here](https://github.com/exercism/xr/pulls). See also [here](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics) for more information.
|
103
103
|
|
104
104
|
### Development dependencies
|
105
105
|
You'll need to have a recent version of [R](https://cran.r-project.org/) installed on your system, as well as the `testthat` package (run `install.packages('testthat')` from the R console to install) in order to run tests.
|
data/tracks/r/config.json
CHANGED
@@ -4,184 +4,256 @@
|
|
4
4
|
"repository": "https://github.com/exercism/r",
|
5
5
|
"checklist_issue": 5,
|
6
6
|
"active": false,
|
7
|
-
"deprecated": [
|
8
|
-
|
9
|
-
],
|
10
7
|
"foregone": [
|
11
8
|
|
12
9
|
],
|
13
10
|
"exercises": [
|
14
11
|
{
|
15
|
-
"
|
12
|
+
"uuid": "285404a4-d8f8-469d-b183-920b08ba2430",
|
16
13
|
"slug": "hello-world",
|
14
|
+
"core": false,
|
15
|
+
"unlocked_by": null,
|
16
|
+
"difficulty": 1,
|
17
17
|
"topics": [
|
18
18
|
|
19
19
|
]
|
20
20
|
},
|
21
21
|
{
|
22
|
-
"
|
22
|
+
"uuid": "4be11d9f-db6a-4edd-af35-7d33d2dc9c0f",
|
23
23
|
"slug": "leap",
|
24
|
+
"core": false,
|
25
|
+
"unlocked_by": null,
|
26
|
+
"difficulty": 1,
|
24
27
|
"topics": [
|
25
28
|
|
26
29
|
]
|
27
30
|
},
|
28
31
|
{
|
29
|
-
"
|
32
|
+
"uuid": "da01ce65-8c7d-4646-ace4-c067d92f656b",
|
30
33
|
"slug": "bob",
|
34
|
+
"core": false,
|
35
|
+
"unlocked_by": null,
|
36
|
+
"difficulty": 1,
|
31
37
|
"topics": [
|
32
38
|
|
33
39
|
]
|
34
40
|
},
|
35
41
|
{
|
36
|
-
"
|
42
|
+
"uuid": "dcc7171a-6b7d-4749-a300-a7270a095486",
|
37
43
|
"slug": "hamming",
|
44
|
+
"core": false,
|
45
|
+
"unlocked_by": null,
|
46
|
+
"difficulty": 1,
|
38
47
|
"topics": [
|
39
48
|
|
40
49
|
]
|
41
50
|
},
|
42
51
|
{
|
43
|
-
"
|
52
|
+
"uuid": "12e17ede-ff59-45d1-8c66-b07b7ede5702",
|
44
53
|
"slug": "rna-transcription",
|
54
|
+
"core": false,
|
55
|
+
"unlocked_by": null,
|
56
|
+
"difficulty": 1,
|
45
57
|
"topics": [
|
46
58
|
|
47
59
|
]
|
48
60
|
},
|
49
61
|
{
|
50
|
-
"
|
62
|
+
"uuid": "6a562684-5938-4ad9-b042-7b44a8cc4561",
|
51
63
|
"slug": "difference-of-squares",
|
64
|
+
"core": false,
|
65
|
+
"unlocked_by": null,
|
66
|
+
"difficulty": 1,
|
52
67
|
"topics": [
|
53
68
|
|
54
69
|
]
|
55
70
|
},
|
56
71
|
{
|
57
|
-
"
|
72
|
+
"uuid": "955604ef-266f-42c9-abde-ce0fdc2d33ad",
|
58
73
|
"slug": "raindrops",
|
74
|
+
"core": false,
|
75
|
+
"unlocked_by": null,
|
76
|
+
"difficulty": 1,
|
59
77
|
"topics": [
|
60
78
|
|
61
79
|
]
|
62
80
|
},
|
63
81
|
{
|
64
|
-
"
|
82
|
+
"uuid": "fb1b7105-98f5-4f4f-8f5c-c410844cc4d3",
|
65
83
|
"slug": "grains",
|
84
|
+
"core": false,
|
85
|
+
"unlocked_by": null,
|
86
|
+
"difficulty": 1,
|
66
87
|
"topics": [
|
67
88
|
|
68
89
|
]
|
69
90
|
},
|
70
91
|
{
|
71
|
-
"
|
92
|
+
"uuid": "105a3de5-3dea-4880-927a-6eed89a97a07",
|
72
93
|
"slug": "anagram",
|
94
|
+
"core": false,
|
95
|
+
"unlocked_by": null,
|
96
|
+
"difficulty": 1,
|
73
97
|
"topics": [
|
74
98
|
|
75
99
|
]
|
76
100
|
},
|
77
101
|
{
|
78
|
-
"
|
102
|
+
"uuid": "b8b3a324-8d62-49d4-ba28-886883e5c549",
|
79
103
|
"slug": "space-age",
|
104
|
+
"core": false,
|
105
|
+
"unlocked_by": null,
|
106
|
+
"difficulty": 1,
|
80
107
|
"topics": [
|
81
108
|
|
82
109
|
]
|
83
110
|
},
|
84
111
|
{
|
85
|
-
"
|
112
|
+
"uuid": "581b968c-f78f-4b60-9eb0-8c73eeeb96af",
|
86
113
|
"slug": "sum-of-multiples",
|
114
|
+
"core": false,
|
115
|
+
"unlocked_by": null,
|
116
|
+
"difficulty": 1,
|
87
117
|
"topics": [
|
88
118
|
|
89
119
|
]
|
90
120
|
},
|
91
121
|
{
|
92
|
-
"
|
122
|
+
"uuid": "a7cbf043-504b-4fc8-b7fb-33a88ac7962d",
|
93
123
|
"slug": "word-count",
|
124
|
+
"core": false,
|
125
|
+
"unlocked_by": null,
|
126
|
+
"difficulty": 1,
|
94
127
|
"topics": [
|
95
128
|
|
96
129
|
]
|
97
130
|
},
|
98
131
|
{
|
99
|
-
"
|
132
|
+
"uuid": "e5166378-e3fc-4393-b4f8-4c36da444c56",
|
100
133
|
"slug": "phone-number",
|
134
|
+
"core": false,
|
135
|
+
"unlocked_by": null,
|
136
|
+
"difficulty": 1,
|
101
137
|
"topics": [
|
102
138
|
|
103
139
|
]
|
104
140
|
},
|
105
141
|
{
|
106
|
-
"
|
142
|
+
"uuid": "8bde91c5-2fe7-4f8d-91ec-ed05284b9a49",
|
107
143
|
"slug": "rotational-cipher",
|
144
|
+
"core": false,
|
145
|
+
"unlocked_by": null,
|
146
|
+
"difficulty": 1,
|
108
147
|
"topics": [
|
109
148
|
|
110
149
|
]
|
111
150
|
},
|
112
151
|
{
|
113
|
-
"
|
152
|
+
"uuid": "c82dfe0c-77c9-4a3b-8110-962a9547ac64",
|
114
153
|
"slug": "scrabble-score",
|
154
|
+
"core": false,
|
155
|
+
"unlocked_by": null,
|
156
|
+
"difficulty": 1,
|
115
157
|
"topics": [
|
116
158
|
|
117
159
|
]
|
118
160
|
},
|
119
161
|
{
|
120
|
-
"
|
162
|
+
"uuid": "4ea6d28b-f2bd-4785-ad9f-8eed6a9c67eb",
|
121
163
|
"slug": "isogram",
|
164
|
+
"core": false,
|
165
|
+
"unlocked_by": null,
|
166
|
+
"difficulty": 1,
|
122
167
|
"topics": [
|
123
168
|
|
124
169
|
]
|
125
170
|
},
|
126
171
|
{
|
127
|
-
"
|
172
|
+
"uuid": "3fd2d6dd-6d4d-4b7f-9f1e-0de11899dcb5",
|
128
173
|
"slug": "beer-song",
|
129
|
-
"
|
130
|
-
|
174
|
+
"core": false,
|
175
|
+
"unlocked_by": null,
|
176
|
+
"difficulty": 1,
|
177
|
+
"topics": [
|
178
|
+
|
131
179
|
]
|
132
180
|
},
|
133
181
|
{
|
134
|
-
"
|
182
|
+
"uuid": "cef7ba44-5b9a-4fc3-b853-9b598e743ba8",
|
135
183
|
"slug": "perfect-numbers",
|
184
|
+
"core": false,
|
185
|
+
"unlocked_by": null,
|
186
|
+
"difficulty": 1,
|
136
187
|
"topics": [
|
137
188
|
|
138
189
|
]
|
139
190
|
},
|
140
191
|
{
|
141
|
-
"
|
192
|
+
"uuid": "ee849e23-d709-4e4a-ab89-07a87e13e4fb",
|
142
193
|
"slug": "prime-factors",
|
194
|
+
"core": false,
|
195
|
+
"unlocked_by": null,
|
196
|
+
"difficulty": 1,
|
143
197
|
"topics": [
|
144
198
|
|
145
199
|
]
|
146
200
|
},
|
147
201
|
{
|
148
|
-
"
|
202
|
+
"uuid": "dabc8218-8ab8-4918-85d3-0afd5b6791c6",
|
149
203
|
"slug": "sieve",
|
204
|
+
"core": false,
|
205
|
+
"unlocked_by": null,
|
206
|
+
"difficulty": 1,
|
150
207
|
"topics": [
|
151
208
|
|
152
209
|
]
|
153
210
|
},
|
154
211
|
{
|
155
|
-
"
|
212
|
+
"uuid": "a1b4bde3-2ee7-42dd-85c5-4303ae546d15",
|
156
213
|
"slug": "largest-series-product",
|
214
|
+
"core": false,
|
215
|
+
"unlocked_by": null,
|
216
|
+
"difficulty": 1,
|
157
217
|
"topics": [
|
158
218
|
|
159
219
|
]
|
160
220
|
},
|
161
221
|
{
|
162
|
-
"
|
222
|
+
"uuid": "33157f48-a2d9-4fae-a9c8-5df547473f1a",
|
163
223
|
"slug": "luhn",
|
224
|
+
"core": false,
|
225
|
+
"unlocked_by": null,
|
226
|
+
"difficulty": 1,
|
164
227
|
"topics": [
|
165
228
|
|
166
229
|
]
|
167
230
|
},
|
168
231
|
{
|
169
|
-
"
|
232
|
+
"uuid": "eacc30e1-d02c-4ccb-b1f7-3d4f16358726",
|
170
233
|
"slug": "secret-handshake",
|
234
|
+
"core": false,
|
235
|
+
"unlocked_by": null,
|
236
|
+
"difficulty": 1,
|
171
237
|
"topics": [
|
172
238
|
|
173
239
|
]
|
174
240
|
},
|
175
241
|
{
|
176
|
-
"
|
242
|
+
"uuid": "f3e93545-7466-4635-b508-7e02517fdf06",
|
177
243
|
"slug": "pascals-triangle",
|
244
|
+
"core": false,
|
245
|
+
"unlocked_by": null,
|
246
|
+
"difficulty": 1,
|
178
247
|
"topics": [
|
179
248
|
|
180
249
|
]
|
181
250
|
},
|
182
251
|
{
|
183
|
-
"
|
252
|
+
"uuid": "acf63670-7e56-47c1-9f33-7ec076d5270f",
|
184
253
|
"slug": "tournament",
|
254
|
+
"core": false,
|
255
|
+
"unlocked_by": null,
|
256
|
+
"difficulty": 1,
|
185
257
|
"topics": [
|
186
258
|
|
187
259
|
]
|