trackler 2.2.1.79 → 2.2.1.80

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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/isbn-verifier/canonical-data.json +40 -14
  4. data/problem-specifications/exercises/luhn/canonical-data.json +2 -2
  5. data/tracks/bash/README.md +1 -1
  6. data/tracks/bash/bin/fetch-configlet +1 -1
  7. data/tracks/bash/config.json +25 -2
  8. data/tracks/bash/docs/MAINTAINING.md +36 -0
  9. data/tracks/bash/exercises/reverse-string/README.md +14 -0
  10. data/tracks/bash/exercises/reverse-string/example.sh +3 -0
  11. data/tracks/bash/exercises/reverse-string/reverse_string_test.sh +41 -0
  12. data/tracks/bash/exercises/roman-numerals/README.md +50 -0
  13. data/tracks/bash/exercises/roman-numerals/example.sh +19 -0
  14. data/tracks/bash/exercises/roman-numerals/roman_numerals_test.sh +145 -0
  15. data/tracks/clojure/exercises/acronym/src/acronym.clj +5 -0
  16. data/tracks/clojure/exercises/all-your-base/src/all_your_base.clj +5 -0
  17. data/tracks/clojure/exercises/allergies/src/allergies.clj +9 -0
  18. data/tracks/clojure/exercises/atbash-cipher/src/atbash_cipher.clj +5 -0
  19. data/tracks/clojure/exercises/bank-account/src/bank_account.clj +17 -0
  20. data/tracks/clojure/exercises/binary-search-tree/src/binary_search_tree.clj +29 -0
  21. data/tracks/clojure/exercises/binary-search/src/binary_search.clj +9 -0
  22. data/tracks/clojure/exercises/binary/src/binary.clj +5 -0
  23. data/tracks/clojure/exercises/bracket-push/src/bracket_push.clj +5 -0
  24. data/tracks/clojure/exercises/change/src/change.clj +5 -0
  25. data/tracks/clojure/exercises/clock/src/clock.clj +13 -0
  26. data/tracks/clojure/exercises/crypto-square/src/crypto_square.clj +21 -0
  27. data/tracks/clojure/exercises/diamond/src/diamond.clj +5 -0
  28. data/tracks/clojure/exercises/difference-of-squares/src/difference_of_squares.clj +13 -0
  29. data/tracks/clojure/exercises/etl/src/etl.clj +5 -0
  30. data/tracks/clojure/exercises/flatten-array/src/flatten_array.clj +5 -0
  31. data/tracks/groovy/config.json +1 -1
  32. data/tracks/groovy/exercises/{linked-list/LinkedList.groovy → double-linked-list/DoubleLinkedList.groovy} +0 -0
  33. data/tracks/groovy/exercises/{linked-list/LinkedListSpec.groovy → double-linked-list/DoubleLinkedListSpec.groovy} +0 -0
  34. data/tracks/groovy/exercises/{linked-list → double-linked-list}/Example.groovy +0 -0
  35. data/tracks/groovy/exercises/{linked-list → double-linked-list}/README.md +1 -1
  36. data/tracks/groovy/gradlew +0 -0
  37. data/tracks/java/config/maintainers.json +1 -1
  38. data/tracks/kotlin/config/maintainers.json +2 -2
  39. metadata +29 -7
  40. data/tracks/bash/exercises/acronym/acronym.sh +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f534ea2a6278d897c9f2761774cded84858c3d4d
4
- data.tar.gz: 70bd2ab606450227fb252f5057fbca33ec0d57e4
3
+ metadata.gz: 582c0a5b8961156545ee85e7cbc19dc370564915
4
+ data.tar.gz: ebeb707368c2348f2a72b0189bafc75c6ec1cb6a
5
5
  SHA512:
6
- metadata.gz: cbf4a33ca1a50368b3756c79f68b0041aaa39147feb90b7b3093336a4a594a1b69e6eb639101d5d331a7bf1b537cbf4c7d0862832dfeadbc026f771f28ffe11d
7
- data.tar.gz: 47f09fb1ff62297220261332bb1364a68aed554347374ad3dbe720d343ee6b2503d4e7ac50c7966425c750986bb3b8f66677971461b41df3a4fbfaa478811a06
6
+ metadata.gz: 638585faba47d4309f8daa4c251787f9d5dde9462220f4c39b6a1e698cccce4570e154ff31b6e8ba1ed5e511593326fa4518ad9860047b684b6cbbf6bfe718ca
7
+ data.tar.gz: e1a7752908c91664d717d7303b1b9fe4ed130b34a2262010c29d83a243c99ed394d536a849fa2f6dd67f8f0e323bffdcce0fb5e03578439b163ad4212eb3defb
@@ -1,3 +1,3 @@
1
1
  module Trackler
2
- VERSION = "2.2.1.79"
2
+ VERSION = "2.2.1.80"
3
3
  end
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "isbn-verifier",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "comments": [
5
5
  "An expected value of true indicates a valid ISBN-10, ",
6
6
  "whereas false means the ISBN-10 is invalid."
@@ -9,79 +9,105 @@
9
9
  {
10
10
  "description": "valid isbn number",
11
11
  "property": "isValid",
12
- "input": "3-598-21508-8",
12
+ "input": {
13
+ "isbn": "3-598-21508-8"
14
+ },
13
15
  "expected": true
14
16
  },
15
17
  {
16
18
  "description": "invalid isbn check digit",
17
19
  "property": "isValid",
18
- "input": "3-598-21508-9",
20
+ "input": {
21
+ "isbn": "3-598-21508-9"
22
+ },
19
23
  "expected": false
20
24
  },
21
25
  {
22
26
  "description": "valid isbn number with a check digit of 10",
23
27
  "property": "isValid",
24
- "input": "3-598-21507-X",
28
+ "input": {
29
+ "isbn": "3-598-21507-X"
30
+ },
25
31
  "expected": true
26
32
  },
27
33
  {
28
34
  "description": "check digit is a character other than X",
29
35
  "property": "isValid",
30
- "input": "3-598-21507-A",
36
+ "input": {
37
+ "isbn": "3-598-21507-A"
38
+ },
31
39
  "expected": false
32
40
  },
33
41
  {
34
42
  "description": "invalid character in isbn",
35
43
  "property": "isValid",
36
- "input": "3-598-2K507-0",
44
+ "input": {
45
+ "isbn": "3-598-2K507-0"
46
+ },
37
47
  "expected": false
38
48
  },
39
49
  {
40
50
  "description": "X is only valid as a check digit",
41
51
  "property": "isValid",
42
- "input": "3-598-2X507-9",
52
+ "input": {
53
+ "isbn": "3-598-2X507-9"
54
+ },
43
55
  "expected": false
44
56
  },
45
57
  {
46
58
  "description": "valid isbn without separating dashes",
47
59
  "property": "isValid",
48
- "input": "3598215088",
60
+ "input": {
61
+ "isbn": "3598215088"
62
+ },
49
63
  "expected": true
50
64
  },
51
65
  {
52
66
  "description": "isbn without separating dashes and X as check digit",
53
67
  "property": "isValid",
54
- "input": "359821507X",
68
+ "input": {
69
+ "isbn": "359821507X"
70
+ },
55
71
  "expected": true
56
72
  },
57
73
  {
58
74
  "description": "isbn without check digit and dashes",
59
75
  "property": "isValid",
60
- "input": "359821507",
76
+ "input": {
77
+ "isbn": "359821507"
78
+ },
61
79
  "expected": false
62
80
  },
63
81
  {
64
82
  "description": "too long isbn and no dashes",
65
83
  "property": "isValid",
66
- "input": "3598215078X",
84
+ "input": {
85
+ "isbn": "3598215078X"
86
+ },
67
87
  "expected": false
68
88
  },
69
89
  {
70
90
  "description": "isbn without check digit",
71
91
  "property": "isValid",
72
- "input": "3-598-21507",
92
+ "input": {
93
+ "isbn": "3-598-21507"
94
+ },
73
95
  "expected": false
74
96
  },
75
97
  {
76
98
  "description": "too long isbn",
77
99
  "property": "isValid",
78
- "input": "3-598-21507-XX",
100
+ "input": {
101
+ "isbn": "3-598-21507-XX"
102
+ },
79
103
  "expected": false
80
104
  },
81
105
  {
82
106
  "description": "check digit of X should not be used for 0",
83
107
  "property": "isValid",
84
- "input": "3-598-21515-X",
108
+ "input": {
109
+ "isbn": "3-598-21515-X"
110
+ },
85
111
  "expected": false
86
112
  }
87
113
  ]
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "exercise": "luhn",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "cases": [
5
5
  {
6
6
  "description": "single digit strings can not be valid",
@@ -9,7 +9,7 @@
9
9
  "expected": false
10
10
  },
11
11
  {
12
- "description": "A single zero is invalid",
12
+ "description": "a single zero is invalid",
13
13
  "property": "valid",
14
14
  "input": "0",
15
15
  "expected": false
@@ -6,7 +6,7 @@ Exercism Exercises in Bash
6
6
 
7
7
  ## Contributing Guide
8
8
 
9
- Please see the [contributing guide](https://github.com/exercism/x-api/blob/master/CONTRIBUTING.md#the-exercise-data)
9
+ Please see the [contributing guide](https://github.com/exercism/bash/blob/master/CONTRIBUTING.md) for information.
10
10
 
11
11
 
12
12
  ### Bash icon
@@ -1,4 +1,4 @@
1
- #!/bin/bash
1
+ #!/usr/bin/env bash
2
2
 
3
3
  LATEST=https://github.com/exercism/configlet/releases/latest
4
4
 
@@ -11,6 +11,15 @@
11
11
  ],
12
12
  "uuid": "4e2533dd-3af5-400b-869d-78140764d533"
13
13
  },
14
+ {
15
+ "core": true,
16
+ "difficulty": 1,
17
+ "slug": "reverse-string",
18
+ "topics": [
19
+ "strings"
20
+ ],
21
+ "uuid": "2b6d4faa-1909-422a-8eac-1682be3f1b9e"
22
+ },
14
23
  {
15
24
  "core": false,
16
25
  "difficulty": 1,
@@ -195,7 +204,7 @@
195
204
  "mathematics"
196
205
  ],
197
206
  "unlocked_by": "leap",
198
- "uuid": "496e130a-063a-6380-19dc-179f05534717226bca1"
207
+ "uuid": "bd8fd05e-3f8d-4a1f-a9d8-e6223dcc6f93"
199
208
  },
200
209
  {
201
210
  "core": false,
@@ -207,7 +216,21 @@
207
216
  "strings"
208
217
  ],
209
218
  "unlocked_by": "hamming",
210
- "uuid": "03808072-0228-6580-7a9b-cc709a8a5b8c0e600b9"
219
+ "uuid": "5bff4fe1-6330-4730-b586-dcc5438c02ee"
220
+ },
221
+ {
222
+ "core": false,
223
+ "difficulty": 6,
224
+ "slug": "roman-numerals",
225
+ "topics": [
226
+ "integers",
227
+ "logic",
228
+ "loops",
229
+ "mathematics",
230
+ "strings"
231
+ ],
232
+ "unlocked_by": "hamming",
233
+ "uuid": "7cc44e62-d29e-41c3-b4dd-689229e3e25a"
211
234
  }
212
235
  ],
213
236
  "foregone": [],
@@ -0,0 +1,36 @@
1
+ # Welcome!
2
+
3
+ This is a guide/reference for maintainers of the Bash track.
4
+
5
+ - [Your Permissions](#your-permissions)
6
+ - [Maintainer Guides](#maintainer-guides)
7
+ - [Miscellaneous](#miscellaneous)
8
+
9
+ ## Your Permissions
10
+
11
+ As a maintainer, you have write access to several repositories. "write access" means you can: review, reject, accept and merge PRs; and push changes to these repos. Despite having permissions to push directly, we tend to seek review of even our own PRs.
12
+
13
+ ### Track-specific
14
+
15
+ - [bash](https://github.com/exercism/bash) — Probably where you are now!
16
+
17
+ ### Exercism-wide
18
+
19
+ - [problem-specifications](https://github.com/exercism/problem-specifications) — the library of canonical exercises.
20
+ - [discussions](https://github.com/exercism/discussions) — the place where project-wide conversations happen.
21
+ [issues sorted by most recently updated.](https://github.com/exercism/discussions/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc)
22
+ - [docs](https://github.com/exercism/docs) - the place to find project-wide documentation.
23
+
24
+ ## Maintainer Guides
25
+
26
+ - **[docs/maintaining-a-track/README.md](https://github.com/exercism/docs/blob/master/maintaining-a-track/README.md)**
27
+ - [docs/contributing-to-language-tracks/README.md](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md)
28
+ - [docs/you-can-help/review-pull-requests.md](https://github.com/exercism/docs/blob/master/you-can-help/review-pull-requests.md)
29
+
30
+ ## Miscellaneous
31
+
32
+ - Issues marked with "policy" are current "team agreements": [exercism?label:policy](https://github.com/search?q=org%3Aexercism+label%3Apolicy).
33
+ This label is described in [discussions#96](https://github.com/exercism/discussions/issues/96).
34
+ - Exercism has a Twitter account: [@Exercism.io](https://twitter.com/exercism_io); and a mailing list: https://tinyletter.com/exercism
35
+
36
+ **Please feel free to ask any questions. In our thinking, asking questions is far smarter than guessing.**
@@ -0,0 +1,14 @@
1
+ # Reverse String
2
+
3
+ Reverse a string
4
+
5
+ For example:
6
+ input: "cool"
7
+ output: "looc"
8
+
9
+ ## Source
10
+
11
+ Introductory challenge to reverse an input string. [medium.freecodecamp.org/](https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb)
12
+
13
+ ## Submitting Incomplete Solutions
14
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+
3
+ echo $1|rev
@@ -0,0 +1,41 @@
1
+ #!/usr/bin/env bats
2
+
3
+ @test "An empty string" {
4
+ #skip
5
+ run bash reverse_string.sh
6
+
7
+ [ "$status" -eq 0 ]
8
+ [ "$output" = "" ]
9
+ }
10
+
11
+ @test "A word" {
12
+ skip
13
+ run bash reverse_string.sh robot
14
+
15
+ [ "$status" -eq 0 ]
16
+ [ "$output" = "tobor" ]
17
+ }
18
+
19
+ @test "A capitalised word" {
20
+ skip
21
+ run bash reverse_string.sh Ramen
22
+
23
+ [ "$status" -eq 0 ]
24
+ [ "$output" = "nemaR" ]
25
+ }
26
+
27
+ @test "A sentence with punctuation" {
28
+ skip
29
+ run bash reverse_string.sh "I'm hungry!"
30
+
31
+ [ "$status" -eq 0 ]
32
+ [ "$output" = "!yrgnuh m'I" ]
33
+ }
34
+
35
+ @test "A palindrome" {
36
+ skip
37
+ run bash reverse_string.sh racecar
38
+
39
+ [ "$status" -eq 0 ]
40
+ [ "$output" = "racecar" ]
41
+ }
@@ -0,0 +1,50 @@
1
+ # Roman Numerals
2
+
3
+ Write a function to convert from normal numbers to Roman Numerals.
4
+
5
+ The Romans were a clever bunch. They conquered most of Europe and ruled
6
+ it for hundreds of years. They invented concrete and straight roads and
7
+ even bikinis. One thing they never discovered though was the number
8
+ zero. This made writing and dating extensive histories of their exploits
9
+ slightly more challenging, but the system of numbers they came up with
10
+ is still in use today. For example the BBC uses Roman numerals to date
11
+ their programmes.
12
+
13
+ The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
14
+ these letters have lots of straight lines and are hence easy to hack
15
+ into stone tablets).
16
+
17
+ ```text
18
+ 1 => I
19
+ 10 => X
20
+ 7 => VII
21
+ ```
22
+
23
+ There is no need to be able to convert numbers larger than about 3000.
24
+ (The Romans themselves didn't tend to go any higher)
25
+
26
+ Wikipedia says: Modern Roman numerals ... are written by expressing each
27
+ digit separately starting with the left most digit and skipping any
28
+ digit with a value of zero.
29
+
30
+ To see this in practice, consider the example of 1990.
31
+
32
+ In Roman numerals 1990 is MCMXC:
33
+
34
+ 1000=M
35
+ 900=CM
36
+ 90=XC
37
+
38
+ 2008 is written as MMVIII:
39
+
40
+ 2000=MM
41
+ 8=VIII
42
+
43
+ See also: http://www.novaroma.org/via_romana/numbers.html
44
+
45
+ ## Source
46
+
47
+ The Roman Numeral Kata. [codingdojo.org](http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals)
48
+
49
+ ## Submitting Incomplete Solutions
50
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,19 @@
1
+ #!/bin/bash
2
+
3
+ values=( 1000 900 500 400 100 90 50 40 10 9 5 4 1 )
4
+ roman=(
5
+ [1000]=M [900]=CM [500]=D [400]=CD
6
+ [100]=C [90]=XC [50]=L [40]=XL
7
+ [10]=X [9]=IX [5]=V [4]=IV
8
+ [1]=I
9
+ )
10
+ output=""
11
+ num=$1
12
+ for value in ${values[@]}; do
13
+ while (( num >= value )); do
14
+ output+=${roman[value]}
15
+ ((num -= value))
16
+ done
17
+ done
18
+
19
+ echo $output
@@ -0,0 +1,145 @@
1
+ #!/usr/bin/env bats
2
+
3
+ @test "1 is a single I" {
4
+ #skip
5
+ run bash roman_numerals.sh 1
6
+
7
+ [ "$status" -eq 0 ]
8
+ [ "$output" = "I" ]
9
+ }
10
+
11
+ @test "2 is two I's" {
12
+ skip
13
+ run bash roman_numerals.sh 2
14
+
15
+ [ "$status" -eq 0 ]
16
+ [ "$output" = "II" ]
17
+ }
18
+
19
+ @test "3 is three I's" {
20
+ skip
21
+ run bash roman_numerals.sh 3
22
+
23
+ [ "$status" -eq 0 ]
24
+ [ "$output" = "III" ]
25
+ }
26
+
27
+ @test "4, being 5 - 1, is IV" {
28
+ skip
29
+ run bash roman_numerals.sh 4
30
+
31
+ [ "$status" -eq 0 ]
32
+ [ "$output" = "IV" ]
33
+ }
34
+
35
+ @test "5 is a single V" {
36
+ skip
37
+ run bash roman_numerals.sh 5
38
+
39
+ [ "$status" -eq 0 ]
40
+ [ "$output" = "V" ]
41
+ }
42
+
43
+ @test "6, being 5 + 1, is VI" {
44
+ skip
45
+ run bash roman_numerals.sh 6
46
+
47
+ [ "$status" -eq 0 ]
48
+ [ "$output" = "VI" ]
49
+ }
50
+
51
+ @test "9, being 10 - 1, is IX" {
52
+ skip
53
+ run bash roman_numerals.sh 9
54
+
55
+ [ "$status" -eq 0 ]
56
+ [ "$output" = "IX" ]
57
+ }
58
+
59
+ @test "20 is two X's" {
60
+ skip
61
+ run bash roman_numerals.sh 27
62
+
63
+ [ "$status" -eq 0 ]
64
+ [ "$output" = "XXVII" ]
65
+ }
66
+
67
+ @test "48 is not 50 - 2 but rather 40 + 8" {
68
+ skip
69
+ run bash roman_numerals.sh 48
70
+
71
+ [ "$status" -eq 0 ]
72
+ [ "$output" = "XLVIII" ]
73
+ }
74
+
75
+ @test "50 is a single L" {
76
+ skip
77
+ run bash roman_numerals.sh 59
78
+
79
+ [ "$status" -eq 0 ]
80
+ [ "$output" = "LIX" ]
81
+ }
82
+
83
+ @test "90, being 100 - 10, is XC" {
84
+ skip
85
+ run bash roman_numerals.sh 93
86
+
87
+ [ "$status" -eq 0 ]
88
+ [ "$output" = "XCIII" ]
89
+ }
90
+
91
+ @test "100 is a single C" {
92
+ skip
93
+ run bash roman_numerals.sh 141
94
+
95
+ [ "$status" -eq 0 ]
96
+ [ "$output" = "CXLI" ]
97
+ }
98
+
99
+ @test "60, being 50 + 10, is LX" {
100
+ skip
101
+ run bash roman_numerals.sh 163
102
+
103
+ [ "$status" -eq 0 ]
104
+ [ "$output" = "CLXIII" ]
105
+ }
106
+
107
+ @test "400, being 500 - 100, is CD" {
108
+ skip
109
+ run bash roman_numerals.sh 402
110
+
111
+ [ "$status" -eq 0 ]
112
+ [ "$output" = "CDII" ]
113
+ }
114
+
115
+ @test "500 is a single D" {
116
+ skip
117
+ run bash roman_numerals.sh 575
118
+
119
+ [ "$status" -eq 0 ]
120
+ [ "$output" = "DLXXV" ]
121
+ }
122
+
123
+ @test "900, being 1000 - 100, is CM" {
124
+ skip
125
+ run bash roman_numerals.sh 911
126
+
127
+ [ "$status" -eq 0 ]
128
+ [ "$output" = "CMXI" ]
129
+ }
130
+
131
+ @test "1000 is a single M" {
132
+ skip
133
+ run bash roman_numerals.sh 1024
134
+
135
+ [ "$status" -eq 0 ]
136
+ [ "$output" = "MXXIV" ]
137
+ }
138
+
139
+ @test "3000 is three M's" {
140
+ skip
141
+ run bash roman_numerals.sh 3000
142
+
143
+ [ "$status" -eq 0 ]
144
+ [ "$output" = "MMM" ]
145
+ }
@@ -0,0 +1,5 @@
1
+ (ns acronym)
2
+
3
+ (defn acronym [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns all-your-base)
2
+
3
+ (defn convert [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,9 @@
1
+ (ns allergies)
2
+
3
+ (defn allergies [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn allergic-to? [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
@@ -0,0 +1,5 @@
1
+ (ns atbash-cipher)
2
+
3
+ (defn encode [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,17 @@
1
+ (ns bank-account)
2
+
3
+ (defn open-account [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn close-account [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn get-balance [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn update-balance [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
@@ -0,0 +1,29 @@
1
+ (ns binary-search-tree)
2
+
3
+ (defn value [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn singleton [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn insert [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn left [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
18
+
19
+ (defn right [] ;; <- arglist goes here
20
+ ;; your code goes here
21
+ )
22
+
23
+ (defn to-list [] ;; <- arglist goes here
24
+ ;; your code goes here
25
+ )
26
+
27
+ (defn from-list [] ;; <- arglist goes here
28
+ ;; your code goes here
29
+ )
@@ -0,0 +1,9 @@
1
+ (ns binary-search)
2
+
3
+ (defn search-for [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn middle [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
@@ -0,0 +1,5 @@
1
+ (ns binary)
2
+
3
+ (defn to-decimal [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns bracket-push)
2
+
3
+ (defn valid? [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns change)
2
+
3
+ (defn issue [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,13 @@
1
+ (ns clock)
2
+
3
+ (defn clock->string [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn clock [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn add-time [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
@@ -0,0 +1,21 @@
1
+ (ns crypto-square)
2
+
3
+ (defn normalize-plaintext [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn square-size [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn plaintext-segments [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
14
+
15
+ (defn ciphertext [] ;; <- arglist goes here
16
+ ;; your code goes here
17
+ )
18
+
19
+ (defn normalize-ciphertext [] ;; <- arglist goes here
20
+ ;; your code goes here
21
+ )
@@ -0,0 +1,5 @@
1
+ (ns diamond)
2
+
3
+ (defn diamond [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,13 @@
1
+ (ns difference-of-squares)
2
+
3
+ (defn difference [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
6
+
7
+ (defn sum-of-squares [] ;; <- arglist goes here
8
+ ;; your code goes here
9
+ )
10
+
11
+ (defn square-of-sums [] ;; <- arglist goes here
12
+ ;; your code goes here
13
+ )
@@ -0,0 +1,5 @@
1
+ (ns etl)
2
+
3
+ (defn transform [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -0,0 +1,5 @@
1
+ (ns flatten-array)
2
+
3
+ (defn flatten [] ;; <- arglist goes here
4
+ ;; your code goes here
5
+ )
@@ -184,7 +184,7 @@
184
184
  {
185
185
  "core": true,
186
186
  "difficulty": 6,
187
- "slug": "linked-list",
187
+ "slug": "double-linked-list",
188
188
  "topics": [
189
189
  "algorithms",
190
190
  "generics",
@@ -35,7 +35,7 @@ For installation and learning resources, refer to the
35
35
  You can run all the tests for an exercise by entering
36
36
 
37
37
  ```
38
- $ groovy ./LinkedListSpec.groovy
38
+ $ groovy ./DoubleLinkedListSpec.groovy
39
39
  ```
40
40
 
41
41
  in your terminal.
File without changes
@@ -32,7 +32,7 @@
32
32
  "show_on_website": false
33
33
  },
34
34
  {
35
- "alumnus": false,
35
+ "alumnus": true,
36
36
  "avatar_url": null,
37
37
  "bio": null,
38
38
  "github_username": "stkent",
@@ -22,7 +22,7 @@
22
22
  "show_on_website": false
23
23
  },
24
24
  {
25
- "alumnus": false,
25
+ "alumnus": true,
26
26
  "avatar_url": null,
27
27
  "bio": null,
28
28
  "github_username": "stkent",
@@ -32,4 +32,4 @@
32
32
  "show_on_website": false
33
33
  }
34
34
  ]
35
- }
35
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trackler
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.2.1.79
4
+ version: 2.2.1.80
5
5
  platform: ruby
6
6
  authors:
7
7
  - Katrina Owen
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-29 00:00:00.000000000 Z
11
+ date: 2017-12-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyzip
@@ -597,11 +597,11 @@ files:
597
597
  - tracks/bash/docs/EXERCISE_README_INSERT.md
598
598
  - tracks/bash/docs/INSTALLATION.md
599
599
  - tracks/bash/docs/LEARNING.md
600
+ - tracks/bash/docs/MAINTAINING.md
600
601
  - tracks/bash/docs/RESOURCES.md
601
602
  - tracks/bash/docs/SNIPPET.txt
602
603
  - tracks/bash/docs/TESTS.md
603
604
  - tracks/bash/exercises/acronym/README.md
604
- - tracks/bash/exercises/acronym/acronym.sh
605
605
  - tracks/bash/exercises/acronym/acronym_tests.sh
606
606
  - tracks/bash/exercises/acronym/example.sh
607
607
  - tracks/bash/exercises/anagram/README.md
@@ -647,9 +647,15 @@ files:
647
647
  - tracks/bash/exercises/raindrops/README.md
648
648
  - tracks/bash/exercises/raindrops/example.sh
649
649
  - tracks/bash/exercises/raindrops/raindrops_test.sh
650
+ - tracks/bash/exercises/reverse-string/README.md
651
+ - tracks/bash/exercises/reverse-string/example.sh
652
+ - tracks/bash/exercises/reverse-string/reverse_string_test.sh
650
653
  - tracks/bash/exercises/rna-transcription/README.md
651
654
  - tracks/bash/exercises/rna-transcription/example.sh
652
655
  - tracks/bash/exercises/rna-transcription/rna_transcription_test.sh
656
+ - tracks/bash/exercises/roman-numerals/README.md
657
+ - tracks/bash/exercises/roman-numerals/example.sh
658
+ - tracks/bash/exercises/roman-numerals/roman_numerals_test.sh
653
659
  - tracks/bash/exercises/triangle/README.md
654
660
  - tracks/bash/exercises/triangle/example.sh
655
661
  - tracks/bash/exercises/triangle/triangle_test.sh
@@ -1392,14 +1398,17 @@ files:
1392
1398
  - tracks/clojure/exercises/accumulate/test/accumulate_test.clj
1393
1399
  - tracks/clojure/exercises/acronym/README.md
1394
1400
  - tracks/clojure/exercises/acronym/project.clj
1401
+ - tracks/clojure/exercises/acronym/src/acronym.clj
1395
1402
  - tracks/clojure/exercises/acronym/src/example.clj
1396
1403
  - tracks/clojure/exercises/acronym/test/acronym_test.clj
1397
1404
  - tracks/clojure/exercises/all-your-base/README.md
1398
1405
  - tracks/clojure/exercises/all-your-base/project.clj
1406
+ - tracks/clojure/exercises/all-your-base/src/all_your_base.clj
1399
1407
  - tracks/clojure/exercises/all-your-base/src/example.clj
1400
1408
  - tracks/clojure/exercises/all-your-base/test/all_your_base_test.clj
1401
1409
  - tracks/clojure/exercises/allergies/README.md
1402
1410
  - tracks/clojure/exercises/allergies/project.clj
1411
+ - tracks/clojure/exercises/allergies/src/allergies.clj
1403
1412
  - tracks/clojure/exercises/allergies/src/example.clj
1404
1413
  - tracks/clojure/exercises/allergies/test/allergies_test.clj
1405
1414
  - tracks/clojure/exercises/anagram/README.md
@@ -1409,10 +1418,12 @@ files:
1409
1418
  - tracks/clojure/exercises/anagram/test/anagram_test.clj
1410
1419
  - tracks/clojure/exercises/atbash-cipher/README.md
1411
1420
  - tracks/clojure/exercises/atbash-cipher/project.clj
1421
+ - tracks/clojure/exercises/atbash-cipher/src/atbash_cipher.clj
1412
1422
  - tracks/clojure/exercises/atbash-cipher/src/example.clj
1413
1423
  - tracks/clojure/exercises/atbash-cipher/test/atbash_cipher_test.clj
1414
1424
  - tracks/clojure/exercises/bank-account/README.md
1415
1425
  - tracks/clojure/exercises/bank-account/project.clj
1426
+ - tracks/clojure/exercises/bank-account/src/bank_account.clj
1416
1427
  - tracks/clojure/exercises/bank-account/src/example.clj
1417
1428
  - tracks/clojure/exercises/bank-account/test/bank_account_test.clj
1418
1429
  - tracks/clojure/exercises/beer-song/README.md
@@ -1422,14 +1433,17 @@ files:
1422
1433
  - tracks/clojure/exercises/beer-song/test/beer_song_test.clj
1423
1434
  - tracks/clojure/exercises/binary-search-tree/README.md
1424
1435
  - tracks/clojure/exercises/binary-search-tree/project.clj
1436
+ - tracks/clojure/exercises/binary-search-tree/src/binary_search_tree.clj
1425
1437
  - tracks/clojure/exercises/binary-search-tree/src/example.clj
1426
1438
  - tracks/clojure/exercises/binary-search-tree/test/binary_search_tree_test.clj
1427
1439
  - tracks/clojure/exercises/binary-search/README.md
1428
1440
  - tracks/clojure/exercises/binary-search/project.clj
1441
+ - tracks/clojure/exercises/binary-search/src/binary_search.clj
1429
1442
  - tracks/clojure/exercises/binary-search/src/example.clj
1430
1443
  - tracks/clojure/exercises/binary-search/test/binary_search_test.clj
1431
1444
  - tracks/clojure/exercises/binary/README.md
1432
1445
  - tracks/clojure/exercises/binary/project.clj
1446
+ - tracks/clojure/exercises/binary/src/binary.clj
1433
1447
  - tracks/clojure/exercises/binary/src/example.clj
1434
1448
  - tracks/clojure/exercises/binary/test/binary_test.clj
1435
1449
  - tracks/clojure/exercises/bob/README.md
@@ -1439,15 +1453,18 @@ files:
1439
1453
  - tracks/clojure/exercises/bob/test/bob_test.clj
1440
1454
  - tracks/clojure/exercises/bracket-push/README.md
1441
1455
  - tracks/clojure/exercises/bracket-push/project.clj
1456
+ - tracks/clojure/exercises/bracket-push/src/bracket_push.clj
1442
1457
  - tracks/clojure/exercises/bracket-push/src/example.clj
1443
1458
  - tracks/clojure/exercises/bracket-push/test/bracket_push_test.clj
1444
1459
  - tracks/clojure/exercises/change/README.md
1445
1460
  - tracks/clojure/exercises/change/project.clj
1461
+ - tracks/clojure/exercises/change/src/change.clj
1446
1462
  - tracks/clojure/exercises/change/src/example.clj
1447
1463
  - tracks/clojure/exercises/change/test/change_test.clj
1448
1464
  - tracks/clojure/exercises/clock/.meta/clock.mustache
1449
1465
  - tracks/clojure/exercises/clock/README.md
1450
1466
  - tracks/clojure/exercises/clock/project.clj
1467
+ - tracks/clojure/exercises/clock/src/clock.clj
1451
1468
  - tracks/clojure/exercises/clock/src/example.clj
1452
1469
  - tracks/clojure/exercises/clock/test/clock_test.clj
1453
1470
  - tracks/clojure/exercises/collatz-conjecture/README.md
@@ -1462,23 +1479,28 @@ files:
1462
1479
  - tracks/clojure/exercises/complex-numbers/test/complex_numbers_test.clj
1463
1480
  - tracks/clojure/exercises/crypto-square/README.md
1464
1481
  - tracks/clojure/exercises/crypto-square/project.clj
1482
+ - tracks/clojure/exercises/crypto-square/src/crypto_square.clj
1465
1483
  - tracks/clojure/exercises/crypto-square/src/example.clj
1466
1484
  - tracks/clojure/exercises/crypto-square/test/crypto_square_test.clj
1467
1485
  - tracks/clojure/exercises/diamond/README.md
1468
1486
  - tracks/clojure/exercises/diamond/project.clj
1487
+ - tracks/clojure/exercises/diamond/src/diamond.clj
1469
1488
  - tracks/clojure/exercises/diamond/src/example.clj
1470
1489
  - tracks/clojure/exercises/diamond/test/diamond_test.clj
1471
1490
  - tracks/clojure/exercises/difference-of-squares/README.md
1472
1491
  - tracks/clojure/exercises/difference-of-squares/project.clj
1492
+ - tracks/clojure/exercises/difference-of-squares/src/difference_of_squares.clj
1473
1493
  - tracks/clojure/exercises/difference-of-squares/src/example.clj
1474
1494
  - tracks/clojure/exercises/difference-of-squares/test/difference_of_squares_test.clj
1475
1495
  - tracks/clojure/exercises/etl/README.md
1476
1496
  - tracks/clojure/exercises/etl/project.clj
1497
+ - tracks/clojure/exercises/etl/src/etl.clj
1477
1498
  - tracks/clojure/exercises/etl/src/example.clj
1478
1499
  - tracks/clojure/exercises/etl/test/etl_test.clj
1479
1500
  - tracks/clojure/exercises/flatten-array/README.md
1480
1501
  - tracks/clojure/exercises/flatten-array/project.clj
1481
1502
  - tracks/clojure/exercises/flatten-array/src/example.clj
1503
+ - tracks/clojure/exercises/flatten-array/src/flatten_array.clj
1482
1504
  - tracks/clojure/exercises/flatten-array/test/flatten_array_test.clj
1483
1505
  - tracks/clojure/exercises/gigasecond/README.md
1484
1506
  - tracks/clojure/exercises/gigasecond/project.clj
@@ -6231,6 +6253,10 @@ files:
6231
6253
  - tracks/groovy/exercises/difference-of-squares/DifferenceOfSquaresSpec.groovy
6232
6254
  - tracks/groovy/exercises/difference-of-squares/Example.groovy
6233
6255
  - tracks/groovy/exercises/difference-of-squares/README.md
6256
+ - tracks/groovy/exercises/double-linked-list/DoubleLinkedList.groovy
6257
+ - tracks/groovy/exercises/double-linked-list/DoubleLinkedListSpec.groovy
6258
+ - tracks/groovy/exercises/double-linked-list/Example.groovy
6259
+ - tracks/groovy/exercises/double-linked-list/README.md
6234
6260
  - tracks/groovy/exercises/flatten-array/Example.groovy
6235
6261
  - tracks/groovy/exercises/flatten-array/FlattenArraySpec.groovy
6236
6262
  - tracks/groovy/exercises/flatten-array/README.md
@@ -6254,10 +6280,6 @@ files:
6254
6280
  - tracks/groovy/exercises/leap/Leap.groovy
6255
6281
  - tracks/groovy/exercises/leap/LeapSpec.groovy
6256
6282
  - tracks/groovy/exercises/leap/README.md
6257
- - tracks/groovy/exercises/linked-list/Example.groovy
6258
- - tracks/groovy/exercises/linked-list/LinkedList.groovy
6259
- - tracks/groovy/exercises/linked-list/LinkedListSpec.groovy
6260
- - tracks/groovy/exercises/linked-list/README.md
6261
6283
  - tracks/groovy/exercises/nth-prime/Example.groovy
6262
6284
  - tracks/groovy/exercises/nth-prime/NthPrime.groovy
6263
6285
  - tracks/groovy/exercises/nth-prime/NthPrimeSpec.groovy
@@ -1,18 +0,0 @@
1
- #!/bin/bash
2
-
3
- if [ "$#" -ne 1 ]; then
4
- echo 'Usage: $0 "<phrase1>"' >&2
5
- exit 1
6
- fi
7
-
8
- phrase=`echo $1 | tr '-' ' '`
9
- set -f -- junk $phrase
10
- shift
11
- for word; do
12
- initial="$(echo $word | head -c 1 | tr '[:lower:]' '[:upper:]')"
13
- acronym+=$initial
14
- #echo "[$word] [$initial] [$acronym]"
15
- done
16
- echo $acronym
17
-
18
- exit 0