trackler 2.2.1.175 → 2.2.1.176
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/tracks/clojure/config.json +1 -0
- data/tracks/clojure/docs/ABOUT.md +13 -0
- data/tracks/clojure/docs/INSTALLATION.md +21 -0
- data/tracks/clojure/docs/LEARNING.md +29 -0
- data/tracks/clojure/docs/RESOURCES.md +9 -0
- data/tracks/clojure/docs/{TESTS.org → TESTS.md} +22 -27
- data/tracks/clojure/exercises/anagram/src/anagram.clj +1 -1
- data/tracks/clojure/exercises/armstrong-numbers/src/armstrong_numbers.clj +1 -1
- data/tracks/clojure/exercises/beer-song/src/beer_song.clj +1 -1
- data/tracks/clojure/exercises/bob/src/bob.clj +1 -1
- data/tracks/clojure/exercises/clock/src/clock.clj +3 -3
- data/tracks/clojure/exercises/collatz-conjecture/src/collatz_conjecture.clj +1 -1
- data/tracks/clojure/exercises/etl/src/etl.clj +1 -1
- data/tracks/clojure/exercises/flatten-array/src/flatten_array.clj +1 -1
- data/tracks/clojure/exercises/grade-school/src/grade_school.clj +3 -3
- data/tracks/clojure/exercises/hamming/src/hamming.clj +2 -2
- data/tracks/clojure/exercises/leap/src/leap.clj +1 -1
- data/tracks/clojure/exercises/nucleotide-count/src/nucleotide_count.clj +2 -2
- data/tracks/clojure/exercises/phone-number/src/phone_number.clj +3 -3
- data/tracks/clojure/exercises/reverse-string/src/reverse_string.clj +1 -1
- data/tracks/clojure/exercises/rna-transcription/src/rna_transcription.clj +1 -1
- data/tracks/clojure/exercises/robot-name/src/robot_name.clj +2 -2
- data/tracks/clojure/exercises/run-length-encoding/src/run_length_encoding.clj +3 -3
- data/tracks/clojure/exercises/say/src/say.clj +1 -1
- data/tracks/clojure/exercises/series/src/series.clj +1 -1
- data/tracks/clojure/exercises/sublist/src/sublist.clj +1 -1
- data/tracks/clojure/exercises/two-fer/src/two_fer.clj +1 -1
- data/tracks/clojure/exercises/word-count/src/word_count.clj +1 -1
- data/tracks/ecmascript/config.json +12 -0
- data/tracks/ecmascript/exercises/reverse-string/README.md +42 -0
- data/tracks/ecmascript/exercises/reverse-string/example.js +9 -0
- data/tracks/ecmascript/exercises/reverse-string/package.json +70 -0
- data/tracks/ecmascript/exercises/reverse-string/reverse-string.spec.js +33 -0
- data/tracks/erlang/config.json +11 -0
- data/tracks/erlang/exercises/armstrong-numbers/README.md +53 -0
- data/tracks/erlang/exercises/armstrong-numbers/rebar.config +30 -0
- data/tracks/erlang/exercises/armstrong-numbers/src/armstrong_numbers.app.src +9 -0
- data/tracks/erlang/exercises/armstrong-numbers/src/armstrong_numbers.erl +8 -0
- data/tracks/erlang/exercises/armstrong-numbers/src/example.erl +29 -0
- data/tracks/erlang/exercises/armstrong-numbers/test/armstrong_numbers_tests.erl +33 -0
- data/tracks/erlang/exercises/bracket-push/src/example.erl +1 -1
- data/tracks/erlang/exercises/isbn-verifier/src/example.erl +1 -1
- data/tracks/julia/config.json +12 -0
- data/tracks/julia/docs/ABOUT.md +3 -3
- data/tracks/julia/exercises/spiral-matrix/README.md +31 -0
- data/tracks/julia/exercises/spiral-matrix/example.jl +9 -0
- data/tracks/julia/exercises/spiral-matrix/runtests.jl +25 -0
- data/tracks/julia/exercises/spiral-matrix/spiral-matrix.jl +3 -0
- data/tracks/perl5/config.json +1 -0
- data/tracks/perl5/docs/ABOUT.md +4 -3
- data/tracks/perl6/config.json +1 -0
- data/tracks/powershell/config.json +1 -1
- data/tracks/python/exercises/hello-world/example.py +2 -5
- data/tracks/python/exercises/hello-world/hello_world.py +1 -1
- data/tracks/reasonml/.gitignore +1 -0
- data/tracks/reasonml/Makefile +6 -3
- data/tracks/reasonml/config.json +21 -0
- data/tracks/reasonml/exercises/anagram/src/Anagram.rei +1 -0
- data/tracks/reasonml/exercises/anagram/src/Example.re +10 -12
- data/tracks/reasonml/exercises/binary-search/src/BinarySearch.rei +1 -0
- data/tracks/reasonml/exercises/bob/src/Bob.rei +1 -0
- data/tracks/reasonml/exercises/change/src/Change.rei +2 -0
- data/tracks/reasonml/exercises/change/src/Example.re +16 -15
- data/tracks/reasonml/exercises/hello-world/src/HelloWorld.rei +1 -0
- data/tracks/reasonml/exercises/leap/src/Leap.rei +1 -0
- data/tracks/reasonml/exercises/pangram/README.md +21 -0
- data/tracks/reasonml/exercises/pangram/__tests__/Pangram_test.re +36 -0
- data/tracks/reasonml/exercises/pangram/bsconfig.json +30 -0
- data/tracks/reasonml/exercises/pangram/package.json +20 -0
- data/tracks/reasonml/exercises/pangram/src/Example.re +36 -0
- data/tracks/reasonml/exercises/pangram/src/Pangram.rei +1 -0
- data/tracks/reasonml/exercises/phone-number/.gitignore +6 -0
- data/tracks/reasonml/exercises/phone-number/README.md +43 -0
- data/tracks/reasonml/exercises/phone-number/__tests__/PhoneNumber_test.re +48 -0
- data/tracks/reasonml/exercises/phone-number/bsconfig.json +27 -0
- data/tracks/reasonml/exercises/phone-number/package-lock.json +5853 -0
- data/tracks/reasonml/exercises/phone-number/package.json +20 -0
- data/tracks/reasonml/exercises/phone-number/src/Example.re +13 -0
- data/tracks/reasonml/exercises/phone-number/src/PhoneNumber.rei +1 -0
- data/tracks/reasonml/exercises/raindrops/src/Raindrops.rei +1 -0
- data/tracks/reasonml/exercises/rna-transcription/src/Example.re +13 -6
- data/tracks/reasonml/exercises/rna-transcription/src/RnaTranscription.rei +13 -0
- data/tracks/reasonml/exercises/run-length-encoding/src/RunLengthEncoding.rei +2 -0
- data/tracks/reasonml/exercises/space-age/__tests__/SpaceAge_test.re +8 -8
- data/tracks/reasonml/exercises/space-age/src/Example.re +3 -5
- data/tracks/reasonml/exercises/space-age/src/SpaceAge.rei +11 -0
- data/tracks/reasonml/exercises/word-count/src/WordCount.rei +1 -0
- data/tracks/sml/config.json +1 -0
- data/tracks/swift/.gitignore +5 -3
- data/tracks/swift/.travis.yml +8 -1
- data/tracks/swift/Package.swift +70 -11
- data/tracks/swift/exercises/atbash-cipher/Package.swift +1 -1
- data/tracks/swift/exercises/atbash-cipher/Sources/{Atbash.swift → AtbashCipher.swift} +0 -0
- data/tracks/swift/exercises/atbash-cipher/Sources/{AtbashExample.swift → AtbashCipherExample.swift} +1 -1
- data/tracks/swift/exercises/atbash-cipher/Tests/{AtbashTests/AtbashTests.swift → AtbashCipherTests/AtbashCipherTests.swift} +11 -11
- data/tracks/swift/exercises/atbash-cipher/Tests/LinuxMain.swift +2 -2
- data/tracks/swift/exercises/custom-set/Sources/CustomSetExample.swift +6 -2
- data/tracks/swift/exercises/poker/Sources/PokerExample.swift +2 -2
- metadata +49 -14
- data/tracks/clojure/docs/ABOUT.org +0 -24
- data/tracks/clojure/docs/INSTALLATION.org +0 -26
- data/tracks/clojure/docs/LEARNING.org +0 -35
- data/tracks/clojure/docs/RESOURCES.org +0 -9
- data/tracks/swift/.swift-version +0 -1
- data/tracks/swift/allProjects.xcworkspace.source/contents.xcworkspacedata +0 -4
- data/tracks/swift/allProjects.xcworkspace.source/xcshareddata/xcschemes/AllTest.xcscheme +0 -46
- data/tracks/swift/allProjectsPopulateWorkspace.sh +0 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 706da02c4c4f09afe346807e4ff36e9a50753bb2
|
4
|
+
data.tar.gz: d77088f03e5550c99f07516b0c170876af7148df
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 12eb93cab8231e066f465388d5311a7ad0cc2deb1eced143d05fb77fb4e37c458faf60c43baca9871fa96162319d003463d08e37290e2124be5a82016b0fc952
|
7
|
+
data.tar.gz: 2c0df862a40b1648781cc844f1c94445426c2b997e0d064ca4d643f8c3915cbf5f41323697b399bdb68f88fd561981efce0d96e562489cfa03459016533624e4
|
data/lib/trackler/version.rb
CHANGED
data/tracks/clojure/config.json
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
[Clojure](http://clojure.org) is a dynamic programming language that targets the Java Virtual Machine (JVM).
|
2
|
+
Designed as a general purpose language, Clojure combines the approachability of a scripting language with a robust infrastructure for multithreaded programming.
|
3
|
+
|
4
|
+
Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent [data structures](http://clojure.org/data_structures).
|
5
|
+
|
6
|
+
Clojure is open source, and information about contributing to the language [can be found here](http://clojure.org/contributing).
|
7
|
+
|
8
|
+
Rich Hickey, the creator of Clojure, wanted a modern Lisp for functional programming, symbiotic with the established Java platform, and designed for concurrency; thus, Clojure was born.
|
9
|
+
|
10
|
+
Here are a couple quotes that exemplify the goals of Clojure:
|
11
|
+
|
12
|
+
* _Good design is not about making grand plans, but about taking things apart._
|
13
|
+
* _Programming is not about typing...it's about thinking._
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# Installation
|
2
|
+
|
3
|
+
## Installing Leiningen
|
4
|
+
The simplest approach to setting up a Clojure environment is to install the build tool [Leiningen](https://github.com/technomancy/leiningen) which will provide access to a REPL (Read Eval Print Loop) for interactive development and allow you to run Clojure code.
|
5
|
+
|
6
|
+
### Linux and Windows
|
7
|
+
For installation instructions on most platforms see: [Leiningen installation](https://github.com/technomancy/leiningen#installation).
|
8
|
+
|
9
|
+
### Homebrew for Mac OS X
|
10
|
+
Update your Homebrew:
|
11
|
+
``` bash
|
12
|
+
$ brew update
|
13
|
+
```
|
14
|
+
|
15
|
+
Install Leiningen:
|
16
|
+
``` bash
|
17
|
+
$ brew install leiningen
|
18
|
+
```
|
19
|
+
|
20
|
+
### Installing the standalone JAR
|
21
|
+
Alternatively you can download the latest stable release jar file from [clojure.org/downloads](http://clojure.org/community/downloads) which contains everything required to run Clojure code and provides a basic REPL.
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# Learning
|
2
|
+
|
3
|
+
Exercism provides exercises and feedback but can be difficult to jump into for those learning Clojure for the first time.
|
4
|
+
|
5
|
+
These resources can help you get started:
|
6
|
+
|
7
|
+
## References
|
8
|
+
- [Clojure.org](http://clojure.org) The official language website.
|
9
|
+
- [ClojureDocs](https://clojuredocs.org) A repository of language references and examples by function or keyword.
|
10
|
+
- [Grimoire](http://conj.io) Community combined cheatsheet and examples.
|
11
|
+
|
12
|
+
## Exercises and Tutorials
|
13
|
+
- [4Clojure](http://www.4clojure.com) A resource to help fledgling clojurians learn the language through interactive problems.
|
14
|
+
- [Clojure Katas](http://clojurekatas.org) A set of problems to help you get your hands dirty with Clojure.
|
15
|
+
- [Wonderland Clojure Katas](https://github.com/gigasquid/wonderland-clojure-katas) Clojure Katas inspired by Alice in Wonderland.
|
16
|
+
- [Parens of the Dead](http://www.parens-of-the-dead.com) A screencast series of zombie-themed games written with Clojure and ClojureScript.
|
17
|
+
- [Clojure Koans](http://clojurekoans.com) ([online](http://clojurescriptkoans.com)) Exercises meant to initiate you to the mysteries of the Clojure language.
|
18
|
+
|
19
|
+
## Community
|
20
|
+
- [ClojureBridge](http://www.clojurebridge.org) Aims to increase diversity within the Clojure community by offering free, beginner-friendly Clojure programming workshops for women.
|
21
|
+
- [Planet Clojure](http://planet.clojure.in) Clojure blog aggregator.
|
22
|
+
- [Clojure Gazette](http://www.clojuregazette.com) A free, weekly email to inspire Clojure programmers.
|
23
|
+
- [Clojure Weekly](http://reborg.tumblr.com) A weekly collection of Clojure topics.
|
24
|
+
|
25
|
+
## Books
|
26
|
+
- [Living Clojure](http://shop.oreilly.com/product/0636920034292.do) by Carin Meier
|
27
|
+
- [Clojure for the Brave and True](http://www.braveclojure.com) by Daniel Higginbotham
|
28
|
+
- [The Joy of Clojure](https://www.manning.com/books/the-joy-of-clojure-second-edition) by Michael Fogus and Chris Houser
|
29
|
+
- [Clojure Applied](https://pragprog.com/book/vmclojeco/clojure-applied) by Ben Vandgrift and Alex Miller
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Resources
|
2
|
+
|
3
|
+
## Recommended Learning Resources
|
4
|
+
There are some great resources available to help you get started
|
5
|
+
learning Clojure; here is a short list.
|
6
|
+
- [Learn Clojure](http://learn-clojure.com/)
|
7
|
+
- [Clojure Docs](https://clojuredocs.org/)
|
8
|
+
- [Brave Clojure](http://www.braveclojure.com/)
|
9
|
+
- [4Clojure](https://www.4clojure.com/)
|
@@ -1,27 +1,23 @@
|
|
1
|
-
|
1
|
+
# Tests
|
2
2
|
|
3
|
-
A Clojure REPL allows you to easily run code and get immediate feedback and can
|
4
|
-
also be used to run tests.
|
3
|
+
A Clojure REPL allows you to easily run code and get immediate feedback and can also be used to run tests.
|
5
4
|
|
6
|
-
|
7
|
-
To open a REPL using Leiningen change to the directory containing the
|
8
|
-
|
9
|
-
#+BEGIN_SRC bash
|
5
|
+
## Leiningen
|
6
|
+
To open a REPL using Leiningen change to the directory containing the exercise and run:
|
7
|
+
``` bash
|
10
8
|
$ lein repl
|
11
|
-
|
9
|
+
```
|
12
10
|
|
13
|
-
Once you are ready to work on an exercise and have created a file to hold your
|
14
|
-
solution (such as =bob.clj=) you can run the tests using
|
15
|
-
~#'clojure.test/run-tests~ [[http://clojure.github.io/clojure/clojure.test-api.html#clojure.test/run-tests][as described here]].
|
11
|
+
Once you are ready to work on an exercise and have created a file to hold your solution (such as `bob.clj`) you can run the tests using `clojure.test/run-tests` [as described here](http://clojure.github.io/clojure/clojure.test-api.html#clojure.test/run-tests).
|
16
12
|
|
17
|
-
First,
|
18
|
-
|
13
|
+
First, `require` the test namespace:
|
14
|
+
``` clojure
|
19
15
|
=> (require 'bob-test)
|
20
16
|
nil
|
21
|
-
|
17
|
+
```
|
22
18
|
|
23
|
-
Then call
|
24
|
-
|
19
|
+
Then call `run-tests` on `bob-test`:
|
20
|
+
``` clojure
|
25
21
|
=> (clojure.test/run-tests 'bob-test)
|
26
22
|
|
27
23
|
Testing bob-test
|
@@ -29,26 +25,25 @@ Testing bob-test
|
|
29
25
|
Ran 14 tests containing 14 assertions.
|
30
26
|
0 failures, 0 errors.
|
31
27
|
{:test 14, :pass 14, :fail 0, :error 0, :type :summary}
|
32
|
-
|
28
|
+
```
|
33
29
|
|
34
|
-
To run
|
35
|
-
|
30
|
+
To run an exercise's tests with Leiningen, simply call:
|
31
|
+
``` bash
|
36
32
|
$ lein test
|
37
|
-
|
38
|
-
#+BEGIN_EXAMPLE
|
33
|
+
|
39
34
|
lein test bob-test
|
40
35
|
|
41
36
|
Ran 14 tests containing 14 assertions.
|
42
37
|
0 failures, 0 errors.
|
43
|
-
|
38
|
+
```
|
44
39
|
|
45
|
-
|
40
|
+
## Standalone JAR
|
46
41
|
To open a REPL using the standalone JAR file (assuming Clojure 1.8.0) run:
|
47
|
-
|
42
|
+
``` bash
|
48
43
|
$ java -cp clojure-1.8.0.jar clojure.main
|
49
|
-
|
44
|
+
```
|
50
45
|
|
51
46
|
To execute a file use:
|
52
|
-
|
47
|
+
``` bash
|
53
48
|
$ java -cp clojure-1.8.0.jar clojure.main bob_test.clj
|
54
|
-
|
49
|
+
```
|
@@ -1,13 +1,13 @@
|
|
1
1
|
(ns clock)
|
2
2
|
|
3
|
-
(defn clock->string [] ;; <- arglist goes here
|
3
|
+
(defn clock->string [clock] ;; <- arglist goes here
|
4
4
|
;; your code goes here
|
5
5
|
)
|
6
6
|
|
7
|
-
(defn clock [] ;; <- arglist goes here
|
7
|
+
(defn clock [hours minutes] ;; <- arglist goes here
|
8
8
|
;; your code goes here
|
9
9
|
)
|
10
10
|
|
11
|
-
(defn add-time [] ;; <- arglist goes here
|
11
|
+
(defn add-time [clock time] ;; <- arglist goes here
|
12
12
|
;; your code goes here
|
13
13
|
)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
(ns grade-school)
|
2
2
|
|
3
|
-
(defn grade [] ;; <- arglist goes here
|
3
|
+
(defn grade [school grade] ;; <- arglist goes here
|
4
4
|
;; your code goes here
|
5
5
|
)
|
6
6
|
|
7
|
-
(defn add [] ;; <- arglist goes here
|
7
|
+
(defn add [school name grade] ;; <- arglist goes here
|
8
8
|
;; your code goes here
|
9
9
|
)
|
10
10
|
|
11
|
-
(defn sorted [] ;; <- arglist goes here
|
11
|
+
(defn sorted [school] ;; <- arglist goes here
|
12
12
|
;; your code goes here
|
13
13
|
)
|
@@ -1,9 +1,9 @@
|
|
1
1
|
(ns nucleotide-count)
|
2
2
|
|
3
|
-
(defn count [] ;; <- Arglist goes here
|
3
|
+
(defn count [nucleotide strand] ;; <- Arglist goes here
|
4
4
|
;; your code goes here
|
5
5
|
)
|
6
6
|
|
7
|
-
(defn nucleotide-counts [] ;; <- Arglist goes here
|
7
|
+
(defn nucleotide-counts [strand] ;; <- Arglist goes here
|
8
8
|
;; your code goes here
|
9
9
|
)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
(ns phone-number)
|
2
2
|
|
3
|
-
(defn number [] ;; <- arglist goes here
|
3
|
+
(defn number [num-string] ;; <- arglist goes here
|
4
4
|
;; your code goes here
|
5
5
|
)
|
6
6
|
|
7
|
-
(defn area-code [] ;; <- arglist goes here
|
7
|
+
(defn area-code [num-string] ;; <- arglist goes here
|
8
8
|
;; your code goes here
|
9
9
|
)
|
10
10
|
|
11
|
-
(defn pretty-print [] ;; <- arglist goes here
|
11
|
+
(defn pretty-print [num-string] ;; <- arglist goes here
|
12
12
|
;; your code goes here
|
13
13
|
)
|
@@ -4,10 +4,10 @@
|
|
4
4
|
;; your code goes here
|
5
5
|
)
|
6
6
|
|
7
|
-
(defn robot-name [] ;; <- arglist goes here
|
7
|
+
(defn robot-name [robot] ;; <- arglist goes here
|
8
8
|
;; your code goes here
|
9
9
|
)
|
10
10
|
|
11
|
-
(defn reset-name [] ;; <- arglist goes here
|
11
|
+
(defn reset-name [robot] ;; <- arglist goes here
|
12
12
|
;; your code goes here
|
13
13
|
)
|
@@ -30,6 +30,18 @@
|
|
30
30
|
"logic"
|
31
31
|
]
|
32
32
|
},
|
33
|
+
{
|
34
|
+
"slug": "reverse-string",
|
35
|
+
"uuid": "e84c97eb-dbec-487c-b99f-ae9924e16293",
|
36
|
+
"core": false,
|
37
|
+
"unlocked_by": "leap",
|
38
|
+
"difficulty": 2,
|
39
|
+
"topics": [
|
40
|
+
"for",
|
41
|
+
"loops",
|
42
|
+
"strings"
|
43
|
+
]
|
44
|
+
},
|
33
45
|
{
|
34
46
|
"slug": "rna-transcription",
|
35
47
|
"uuid": "342974d6-9083-4754-a6c5-ed1e19e40ec5",
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# Reverse String
|
2
|
+
|
3
|
+
Reverse a string
|
4
|
+
|
5
|
+
For example:
|
6
|
+
input: "cool"
|
7
|
+
output: "looc"
|
8
|
+
|
9
|
+
## Setup
|
10
|
+
|
11
|
+
Go through the setup instructions for ECMAScript to
|
12
|
+
install the necessary dependencies:
|
13
|
+
|
14
|
+
http://exercism.io/languages/ecmascript
|
15
|
+
|
16
|
+
## Requirements
|
17
|
+
|
18
|
+
Install assignment dependencies:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
$ npm install
|
22
|
+
```
|
23
|
+
|
24
|
+
## Making the test suite pass
|
25
|
+
|
26
|
+
Execute the tests with:
|
27
|
+
|
28
|
+
```bash
|
29
|
+
$ npm test
|
30
|
+
```
|
31
|
+
|
32
|
+
In the test suites all tests but the first have been skipped.
|
33
|
+
|
34
|
+
Once you get a test passing, you can enable the next one by
|
35
|
+
changing `xtest` to `test`.
|
36
|
+
|
37
|
+
## Source
|
38
|
+
|
39
|
+
Introductory challenge to reverse an input string [https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb](https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb)
|
40
|
+
|
41
|
+
## Submitting Incomplete Solutions
|
42
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|