trackler 2.2.1.51 → 2.2.1.52
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/saddle-points/description.md +1 -1
- data/tracks/cfml/.gitattributes +19 -0
- data/tracks/cfml/config.json +180 -186
- data/tracks/cfml/tasks/FormatConfig.cfc +26 -0
- data/tracks/cfml/tasks/ScaffoldExercise.cfc +1 -1
- data/tracks/common-lisp/config.json +26 -9
- data/tracks/common-lisp/exercises/acronym/README.md +61 -0
- data/tracks/common-lisp/exercises/acronym/acronym-test.lisp +48 -0
- data/tracks/common-lisp/exercises/acronym/acronym.lisp +6 -0
- data/tracks/common-lisp/exercises/acronym/example.lisp +24 -0
- data/tracks/common-lisp/exercises/isogram/README.md +65 -0
- data/tracks/common-lisp/exercises/isogram/example.lisp +18 -0
- data/tracks/common-lisp/exercises/isogram/isogram-test.lisp +39 -0
- data/tracks/common-lisp/exercises/isogram/isogram.lisp +8 -0
- data/tracks/delphi/exercises/etl/README.md +1 -1
- data/tracks/delphi/exercises/rna-transcription/README.md +1 -1
- data/tracks/delphi/exercises/saddle-points/README.md +1 -1
- data/tracks/fsharp/exercises/all-your-base/AllYourBaseTest.fs +21 -21
- data/tracks/fsharp/exercises/kindergarten-garden/Example.fs +13 -14
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGarden.fs +1 -3
- data/tracks/fsharp/exercises/kindergarten-garden/KindergartenGardenTest.fs +9 -41
- data/tracks/fsharp/exercises/phone-number/PhoneNumberTest.fs +12 -12
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscriptionTest.fs +8 -8
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulator.fs +3 -0
- data/tracks/fsharp/exercises/robot-simulator/RobotSimulatorTest.fs +129 -26
- data/tracks/fsharp/generators/Common.fs +10 -0
- data/tracks/fsharp/generators/Exercise.fs +5 -1
- data/tracks/fsharp/generators/Generators.fs +122 -33
- data/tracks/fsharp/generators/Output.fs +6 -1
- data/tracks/haskell/exercises/crypto-square/README.md +6 -4
- data/tracks/haskell/exercises/kindergarten-garden/README.md +10 -10
- data/tracks/haskell/exercises/saddle-points/README.md +1 -1
- data/tracks/haskell/exercises/space-age/README.md +1 -1
- data/tracks/java/config.json +8 -2
- data/tracks/java/exercises/queen-attack/.meta/src/reference/java/BoardCoordinate.java +12 -12
- data/tracks/java/exercises/queen-attack/.meta/src/reference/java/QueenAttackCalculator.java +14 -14
- data/tracks/java/exercises/queen-attack/.meta/version +1 -1
- data/tracks/java/exercises/queen-attack/src/test/java/QueenAttackCalculatorTest.java +11 -11
- data/tracks/javascript/exercises/prime-factors/example.js +10 -9
- data/tracks/julia/config.json +12 -0
- data/tracks/julia/exercises/run-length-encoding/README.md +31 -0
- data/tracks/julia/exercises/run-length-encoding/example.jl +22 -0
- data/tracks/julia/exercises/run-length-encoding/run-length-encoding.jl +7 -0
- data/tracks/julia/exercises/run-length-encoding/runtests.jl +29 -0
- data/tracks/objective-c/README.md +79 -1
- data/tracks/ocaml/config.json +430 -433
- data/tracks/ocaml/config/maintainers.json +11 -11
- data/tracks/php/config.json +16 -0
- data/tracks/php/exercises/all-your-base/README.md +31 -0
- data/tracks/php/exercises/all-your-base/all-your-base_test.php +135 -0
- data/tracks/php/exercises/all-your-base/example.php +27 -0
- data/tracks/php/exercises/series/README.md +21 -0
- data/tracks/php/exercises/series/example.php +15 -0
- data/tracks/php/exercises/series/series_test.php +64 -0
- data/tracks/python/README.md +1 -1
- data/tracks/python/config.json +4 -1
- data/tracks/python/exercises/forth/forth.py +4 -0
- data/tracks/python/exercises/forth/forth_test.py +1 -1
- data/tracks/python/exercises/markdown/example.py +1 -1
- data/tracks/python/exercises/markdown/markdown_test.py +3 -3
- data/tracks/ruby/exercises/two-bucket/.meta/.version +1 -1
- data/tracks/ruby/exercises/two-bucket/.meta/solutions/two_bucket.rb +23 -3
- data/tracks/ruby/exercises/two-bucket/two_bucket_test.rb +4 -4
- metadata +22 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2ba58003417ff7756c00e61bca5725599d51f36a
|
4
|
+
data.tar.gz: b224d56deaee8862e20e456a5431c77c84761ce7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 228596af71741d35e867a78201c19b7497a186a65c85b4cf1656de33d81d722f0bff10436e7cdf4eb6c9841eb0c6bde13440fb05bcf34257ed59904e2397dd5e
|
7
|
+
data.tar.gz: 2c111f16d5aba64c6f455ef360626fef978c6b3341fa616a54778e112000f2e6eaa5ff78141d643151a74c7742041422d70f30086c92672ec66a38af90203cb7
|
data/lib/trackler/version.rb
CHANGED
@@ -13,7 +13,7 @@ So say you have a matrix like so:
|
|
13
13
|
It has a saddle point at (1, 0).
|
14
14
|
|
15
15
|
It's called a "saddle point" because it is greater than or equal to
|
16
|
-
every element in its row and
|
16
|
+
every element in its row and less than or equal to every element in
|
17
17
|
its column.
|
18
18
|
|
19
19
|
A matrix may have zero or more saddle points.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# Auto detect text files and perform LF normalization
|
2
|
+
* text=auto
|
3
|
+
|
4
|
+
# Custom for Visual Studio
|
5
|
+
*.cs diff=csharp
|
6
|
+
|
7
|
+
# Standard to msysgit
|
8
|
+
*.doc diff=astextplain
|
9
|
+
*.DOC diff=astextplain
|
10
|
+
*.docx diff=astextplain
|
11
|
+
*.DOCX diff=astextplain
|
12
|
+
*.dot diff=astextplain
|
13
|
+
*.DOT diff=astextplain
|
14
|
+
*.pdf diff=astextplain
|
15
|
+
*.PDF diff=astextplain
|
16
|
+
*.rtf diff=astextplain
|
17
|
+
*.RTF diff=astextplain
|
18
|
+
|
19
|
+
config.json diff=astextplain eol=lf
|
data/tracks/cfml/config.json
CHANGED
@@ -1,187 +1,181 @@
|
|
1
|
-
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
],
|
183
|
-
"ignore_pattern":"Solution",
|
184
|
-
"language":"CFML",
|
185
|
-
"solution_pattern":"Solution.cfc",
|
186
|
-
"test_pattern":"Test.cfc"
|
1
|
+
{
|
2
|
+
"active": true,
|
3
|
+
"blurb": "CFML (ColdFusion Markup Language) is an open source and commercial (JIT) compiled dynamic and loosely typed JVM scripting language that embodies classic OO, and functional programming, making it easy to learn, fun to use. CFML brings the power and scalability of the J2EE ecosystem but without the boilerplate of Java.",
|
4
|
+
"exercises": [
|
5
|
+
{
|
6
|
+
"difficulty": 1,
|
7
|
+
"slug": "hello-world",
|
8
|
+
"topics": null,
|
9
|
+
"uuid": "ab04a390-0969-4a17-8081-c852b23ed88c"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"core": false,
|
13
|
+
"difficulty": 1,
|
14
|
+
"slug": "leap",
|
15
|
+
"topics": null,
|
16
|
+
"unlocked_by": null,
|
17
|
+
"uuid": "03a98e5b-03b7-45e5-a580-611ef5dab4e5"
|
18
|
+
},
|
19
|
+
{
|
20
|
+
"difficulty": 1,
|
21
|
+
"slug": "raindrops",
|
22
|
+
"topics": null,
|
23
|
+
"uuid": "9273C0A7-CB7E-4F3F-8993-F1621CE1F700"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"difficulty": 1,
|
27
|
+
"slug": "scrabble-score",
|
28
|
+
"topics": null,
|
29
|
+
"uuid": "1065F8DF-E6C6-4473-A633-4FA4B49A5314"
|
30
|
+
},
|
31
|
+
{
|
32
|
+
"difficulty": 1,
|
33
|
+
"slug": "difference-of-squares",
|
34
|
+
"topics": null,
|
35
|
+
"uuid": "4E91AD44-8F3D-40DC-899E-253C91B134F6"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"difficulty": 1,
|
39
|
+
"slug": "secret-handshake",
|
40
|
+
"topics": null,
|
41
|
+
"uuid": "0AC79782-B370-4954-8455-6300A734E1B8"
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"difficulty": 1,
|
45
|
+
"slug": "space-age",
|
46
|
+
"topics": null,
|
47
|
+
"uuid": "0B14F23A-DAD4-4965-8ABD-8A107DFD6C00"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"difficulty": 1,
|
51
|
+
"slug": "acronym",
|
52
|
+
"topics": null,
|
53
|
+
"uuid": "9894F2F7-2DBE-4001-885B-FD2C029C6731"
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"difficulty": 1,
|
57
|
+
"slug": "rna-transcription",
|
58
|
+
"topics": null,
|
59
|
+
"uuid": "11C48AFF-4A54-4B3C-AF5E-53048D4BA98B"
|
60
|
+
},
|
61
|
+
{
|
62
|
+
"difficulty": 1,
|
63
|
+
"slug": "pangram",
|
64
|
+
"topics": null,
|
65
|
+
"uuid": "113A2FF7-E72E-49DD-A2CF-0EB25894707D"
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"difficulty": 1,
|
69
|
+
"slug": "hamming",
|
70
|
+
"topics": null,
|
71
|
+
"uuid": "4063A554-424C-4173-81EE-FEAC7CC51E8A"
|
72
|
+
},
|
73
|
+
{
|
74
|
+
"difficulty": 1,
|
75
|
+
"slug": "gigasecond",
|
76
|
+
"topics": null,
|
77
|
+
"uuid": "00B82E7F-804C-4401-BB7F-0565DEA02567"
|
78
|
+
},
|
79
|
+
{
|
80
|
+
"difficulty": 1,
|
81
|
+
"slug": "sum-of-multiples",
|
82
|
+
"topics": null,
|
83
|
+
"uuid": "C6F38ACB-A6BD-41EE-A2F8-A9680B3F61D2"
|
84
|
+
},
|
85
|
+
{
|
86
|
+
"difficulty": 1,
|
87
|
+
"slug": "luhn",
|
88
|
+
"topics": null,
|
89
|
+
"uuid": "685ADB7B-1DC9-4409-993D-51034DF6F744"
|
90
|
+
},
|
91
|
+
{
|
92
|
+
"difficulty": 1,
|
93
|
+
"slug": "triangle",
|
94
|
+
"topics": null,
|
95
|
+
"uuid": "8D0FA71A-3314-432E-BF1F-E6A5F823FC36"
|
96
|
+
},
|
97
|
+
{
|
98
|
+
"difficulty": 1,
|
99
|
+
"slug": "largest-series-product",
|
100
|
+
"topics": null,
|
101
|
+
"uuid": "A35C9BE1-F26A-40C8-8C05-99C33C552E6F"
|
102
|
+
},
|
103
|
+
{
|
104
|
+
"difficulty": 1,
|
105
|
+
"slug": "grains",
|
106
|
+
"topics": null,
|
107
|
+
"uuid": "E25686EE-B888-4533-86C2-5A5D96F5270E"
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"difficulty": 1,
|
111
|
+
"slug": "atbash-cipher",
|
112
|
+
"topics": null,
|
113
|
+
"uuid": "C35391BD-900F-4756-8DFE-A96EA04250F8"
|
114
|
+
},
|
115
|
+
{
|
116
|
+
"difficulty": 1,
|
117
|
+
"slug": "nth-prime",
|
118
|
+
"topics": null,
|
119
|
+
"uuid": "15151E41-195C-40DD-B296-C2C19B38CAEA"
|
120
|
+
},
|
121
|
+
{
|
122
|
+
"difficulty": 1,
|
123
|
+
"slug": "pig-latin",
|
124
|
+
"topics": null,
|
125
|
+
"uuid": "3FDDA0E3-AE90-4834-B6DC-A5E367A5A029"
|
126
|
+
},
|
127
|
+
{
|
128
|
+
"difficulty": 1,
|
129
|
+
"slug": "flatten-array",
|
130
|
+
"topics": null,
|
131
|
+
"uuid": "B0E72A09-49E2-4973-BFF4-88C678F4BE55"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"difficulty": 1,
|
135
|
+
"slug": "saddle-points",
|
136
|
+
"topics": null,
|
137
|
+
"uuid": "063C4BB9-3280-4C69-B164-237732AE00EF"
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"difficulty": 1,
|
141
|
+
"slug": "diamond",
|
142
|
+
"topics": null,
|
143
|
+
"uuid": "DECA4C79-DA5D-43A8-90B8-3A5BE73EAFF5"
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"difficulty": 1,
|
147
|
+
"slug": "isogram",
|
148
|
+
"topics": null,
|
149
|
+
"uuid": "FC8922A3-E29D-451D-9947-A2781C0FF787"
|
150
|
+
},
|
151
|
+
{
|
152
|
+
"difficulty": 1,
|
153
|
+
"slug": "bob",
|
154
|
+
"topics": null,
|
155
|
+
"uuid": "12BBECF4-93EB-40F2-AC13-8CF28B550F0A"
|
156
|
+
},
|
157
|
+
{
|
158
|
+
"difficulty": 1,
|
159
|
+
"slug": "word-count",
|
160
|
+
"topics": null,
|
161
|
+
"uuid": "C61E97BE-6C66-4F1F-87ED-D21C4ED2A8E2"
|
162
|
+
},
|
163
|
+
{
|
164
|
+
"difficulty": 5,
|
165
|
+
"slug": "markdown",
|
166
|
+
"topics": null,
|
167
|
+
"uuid": "4594B907-8080-4A23-AD06-BE85FC28D088"
|
168
|
+
},
|
169
|
+
{
|
170
|
+
"difficulty": 1,
|
171
|
+
"slug": "anagram",
|
172
|
+
"topics": null,
|
173
|
+
"uuid": "339BACAD-F08F-48EE-8DE9-234D4399B49B"
|
174
|
+
}
|
175
|
+
],
|
176
|
+
"foregone": [],
|
177
|
+
"ignore_pattern": "Solution",
|
178
|
+
"language": "CFML",
|
179
|
+
"solution_pattern": "Solution.cfc",
|
180
|
+
"test_pattern": "Test.cfc"
|
187
181
|
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/**
|
2
|
+
* This is a simple task runner that formats the JSON config file. This should only be neccessary if yoiu've edited it by
|
3
|
+
* hand and want to get it back into the proper format as far as spacing and indentation goes. This follows the same format as `configlet fmt`
|
4
|
+
*/
|
5
|
+
component {
|
6
|
+
|
7
|
+
function run() {
|
8
|
+
// Determine the root of the repo based on the location of this task runner
|
9
|
+
var repoRootPath = expandPath( getDirectoryFromPath( getCurrentTemplatePath() ) & '../' );
|
10
|
+
// Read in the current JSON config file
|
11
|
+
var configJSONRaw = fileRead( repoRootPath & '/config.json' );
|
12
|
+
var configJSON = deserializeJSON( configJSONRaw );
|
13
|
+
|
14
|
+
var newConfigJSONRaw = formatterUtil.formatJSON( json=configJSON, indent=' ' , lineEnding=chr( 10 ), spaceAfterColon=true );
|
15
|
+
|
16
|
+
if( newConfigJSONRaw != configJSONRaw ) {
|
17
|
+
// Write it back out with the proper formatting styles applied
|
18
|
+
fileWrite( repoRootPath & '/config.json', newConfigJSONRaw );
|
19
|
+
|
20
|
+
print.greenLine( 'Config file [#repoRootPath#config.json] formatted!' );
|
21
|
+
} else {
|
22
|
+
print.whiteLine( 'Config file [#repoRootPath#config.json] is already formatted!' );
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
}
|
@@ -42,7 +42,7 @@ component {
|
|
42
42
|
"slug": arguments.slug,
|
43
43
|
"topics": []
|
44
44
|
} );
|
45
|
-
fileWrite( repoRootPath & '/config.json', formatterUtil.formatJSON( json=configJSON, indent=' ' , lineEnding=chr( 10 ) ) );
|
45
|
+
fileWrite( repoRootPath & '/config.json', formatterUtil.formatJSON( json=configJSON, indent=' ' , lineEnding=chr( 10 ), spaceAfterColon=true ) );
|
46
46
|
|
47
47
|
// Create exercise scaffold
|
48
48
|
directoryCreate( exerciseDirectory );
|