trackler 2.2.1.4 → 2.2.1.5
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.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/tracks/bash/config.json +10 -0
- data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
- data/tracks/bash/exercises/error-handling/example.sh +9 -0
- data/tracks/ceylon/config/maintainers.json +25 -0
- data/tracks/chapel/README.md +1 -1
- data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
- data/tracks/chapel/config/maintainers.json +5 -0
- data/tracks/chapel/config.json +0 -5
- data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coffeescript/config.json +84 -26
- data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
- data/tracks/coffeescript/exercises/anagram/README.md +21 -0
- data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
- data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
- data/tracks/coffeescript/exercises/binary/README.md +43 -0
- data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
- data/tracks/coffeescript/exercises/bob/README.md +26 -0
- data/tracks/coffeescript/exercises/clock/README.md +21 -0
- data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
- data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
- data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
- data/tracks/coffeescript/exercises/luhn/README.md +79 -0
- data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
- data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
- data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
- data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
- data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
- data/tracks/coffeescript/exercises/triangle/README.md +34 -0
- data/tracks/coffeescript/exercises/trinary/README.md +36 -0
- data/tracks/coffeescript/exercises/word-count/README.md +27 -0
- data/tracks/coffeescript/exercises/wordy/README.md +71 -0
- data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coldfusion/config.json +4 -6
- data/tracks/coldfusion/exercises/leap/README.md +33 -0
- data/tracks/coq/README.md +19 -32
- data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
- data/tracks/coq/config.json +9 -5
- data/tracks/coq/exercises/hello-world/README.md +45 -0
- data/tracks/coq/exercises/rna-transcription/README.md +49 -0
- data/tracks/coq/exercises/tautology/README.md +33 -0
- data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/cpp/config.json +144 -41
- data/tracks/cpp/exercises/allergies/README.md +69 -0
- data/tracks/cpp/exercises/anagram/README.md +45 -0
- data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
- data/tracks/cpp/exercises/beer-song/README.md +359 -0
- data/tracks/cpp/exercises/binary/README.md +67 -0
- data/tracks/cpp/exercises/bob/README.md +50 -0
- data/tracks/cpp/exercises/clock/README.md +45 -0
- data/tracks/cpp/exercises/crypto-square/README.md +106 -0
- data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
- data/tracks/cpp/exercises/etl/README.md +83 -0
- data/tracks/cpp/exercises/food-chain/README.md +102 -0
- data/tracks/cpp/exercises/gigasecond/README.md +43 -0
- data/tracks/cpp/exercises/grade-school/README.md +74 -0
- data/tracks/cpp/exercises/grains/README.md +66 -0
- data/tracks/cpp/exercises/hamming/README.md +74 -0
- data/tracks/cpp/exercises/hello-world/README.md +53 -0
- data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
- data/tracks/cpp/exercises/leap/README.md +65 -0
- data/tracks/cpp/exercises/meetup/README.md +62 -0
- data/tracks/cpp/exercises/nth-prime/README.md +47 -0
- data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
- data/tracks/cpp/exercises/phone-number/README.md +66 -0
- data/tracks/cpp/exercises/prime-factors/README.md +68 -0
- data/tracks/cpp/exercises/queen-attack/README.md +65 -0
- data/tracks/cpp/exercises/raindrops/README.md +56 -0
- data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
- data/tracks/cpp/exercises/robot-name/README.md +54 -0
- data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
- data/tracks/cpp/exercises/say/README.md +101 -0
- data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
- data/tracks/cpp/exercises/series/README.md +59 -0
- data/tracks/cpp/exercises/sieve/README.md +66 -0
- data/tracks/cpp/exercises/space-age/README.md +56 -0
- data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
- data/tracks/cpp/exercises/triangle/README.md +58 -0
- data/tracks/cpp/exercises/trinary/README.md +60 -0
- data/tracks/cpp/exercises/word-count/README.md +51 -0
- data/tracks/crystal/config.json +69 -3
- data/tracks/d/config/exercise_readme.go.tmpl +16 -0
- data/tracks/d/config.json +54 -3
- data/tracks/d/exercises/bob/README.md +49 -0
- data/tracks/d/exercises/circular-buffer/README.md +81 -0
- data/tracks/d/exercises/crypto-square/README.md +105 -0
- data/tracks/d/exercises/difference-of-squares/README.md +50 -0
- data/tracks/d/exercises/etl/README.md +82 -0
- data/tracks/d/exercises/gigasecond/README.md +42 -0
- data/tracks/d/exercises/hamming/README.md +73 -0
- data/tracks/d/exercises/hello-world/README.md +52 -0
- data/tracks/d/exercises/leap/README.md +64 -0
- data/tracks/d/exercises/nucleotide-count/README.md +64 -0
- data/tracks/d/exercises/pangram/README.md +46 -0
- data/tracks/d/exercises/raindrops/README.md +55 -0
- data/tracks/d/exercises/react/README.md +50 -0
- data/tracks/d/exercises/rna-transcription/README.md +56 -0
- data/tracks/d/exercises/robot-name/README.md +53 -0
- data/tracks/d/exercises/roman-numerals/README.md +80 -0
- data/tracks/d/exercises/series/README.md +58 -0
- data/tracks/d/exercises/triangle/README.md +57 -0
- data/tracks/delphi/config/maintainers.json +25 -0
- data/tracks/ecmascript/config/maintainers.json +35 -0
- data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elisp/config.json +79 -22
- data/tracks/elisp/exercises/allergies/README.md +37 -0
- data/tracks/elisp/exercises/anagram/README.md +13 -0
- data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
- data/tracks/elisp/exercises/binary/README.md +35 -0
- data/tracks/elisp/exercises/bob/README.md +18 -0
- data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
- data/tracks/elisp/exercises/etl/README.md +51 -0
- data/tracks/elisp/exercises/gigasecond/README.md +11 -0
- data/tracks/elisp/exercises/grains/README.md +34 -0
- data/tracks/elisp/exercises/hamming/README.md +42 -0
- data/tracks/elisp/exercises/hello-world/README.md +21 -0
- data/tracks/elisp/exercises/leap/README.md +33 -0
- data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
- data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
- data/tracks/elisp/exercises/phone-number/README.md +34 -0
- data/tracks/elisp/exercises/raindrops/README.md +24 -0
- data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
- data/tracks/elisp/exercises/robot-name/README.md +22 -0
- data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
- data/tracks/elisp/exercises/word-count/README.md +19 -0
- data/tracks/elixir/config/maintainers.json +35 -0
- data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elm/config.json +96 -5
- data/tracks/elm/exercises/accumulate/README.md +65 -0
- data/tracks/elm/exercises/allergies/README.md +67 -0
- data/tracks/elm/exercises/anagram/README.md +43 -0
- data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
- data/tracks/elm/exercises/bob/README.md +48 -0
- data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
- data/tracks/elm/exercises/etl/README.md +81 -0
- data/tracks/elm/exercises/gigasecond/README.md +41 -0
- data/tracks/elm/exercises/grade-school/README.md +72 -0
- data/tracks/elm/exercises/grains/README.md +64 -0
- data/tracks/elm/exercises/hamming/README.md +72 -0
- data/tracks/elm/exercises/hello-world/README.md +51 -0
- data/tracks/elm/exercises/largest-series-product/README.md +50 -0
- data/tracks/elm/exercises/leap/README.md +63 -0
- data/tracks/elm/exercises/list-ops/README.md +40 -0
- data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
- data/tracks/elm/exercises/pangram/README.md +45 -0
- data/tracks/elm/exercises/phone-number/README.md +64 -0
- data/tracks/elm/exercises/raindrops/README.md +54 -0
- data/tracks/elm/exercises/rna-transcription/README.md +55 -0
- data/tracks/elm/exercises/robot-simulator/README.md +64 -0
- data/tracks/elm/exercises/roman-numerals/README.md +79 -0
- data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
- data/tracks/elm/exercises/say/README.md +99 -0
- data/tracks/elm/exercises/scrabble-score/README.md +74 -0
- data/tracks/elm/exercises/series/README.md +57 -0
- data/tracks/elm/exercises/space-age/README.md +54 -0
- data/tracks/elm/exercises/strain/README.md +70 -0
- data/tracks/elm/exercises/sublist/README.md +51 -0
- data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
- data/tracks/elm/exercises/triangle/README.md +56 -0
- data/tracks/elm/exercises/word-count/README.md +49 -0
- data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
- data/tracks/fortran/config.json +21 -5
- data/tracks/fortran/exercises/bob/README.md +18 -0
- data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
- data/tracks/fortran/exercises/hamming/README.md +42 -0
- data/tracks/fortran/exercises/hello-world/README.md +21 -0
- data/tracks/fortran/exercises/pangram/README.md +15 -0
- data/tracks/fortran/exercises/raindrops/README.md +24 -0
- data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
- data/tracks/go/config/maintainers.json +85 -0
- data/tracks/go/config.json +2 -2
- data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
- data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
- data/tracks/groovy/exercises/gigasecond/README.md +25 -0
- data/tracks/groovy/exercises/grains/README.md +48 -0
- data/tracks/groovy/exercises/hamming/README.md +56 -0
- data/tracks/groovy/exercises/hello-world/README.md +35 -0
- data/tracks/groovy/exercises/leap/README.md +47 -0
- data/tracks/groovy/exercises/nth-prime/README.md +29 -0
- data/tracks/groovy/exercises/phone-number/README.md +48 -0
- data/tracks/groovy/exercises/raindrops/README.md +38 -0
- data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
- data/tracks/groovy/exercises/robot-name/README.md +36 -0
- data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
- data/tracks/groovy/exercises/word-count/README.md +33 -0
- data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/haxe/config.json +0 -2
- data/tracks/haxe/exercises/bob/README.md +18 -0
- data/tracks/haxe/exercises/hello-world/README.md +21 -0
- data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
- data/tracks/idris/config.json +9 -3
- data/tracks/idris/exercises/hamming/README.md +42 -0
- data/tracks/idris/exercises/hello-world/README.md +21 -0
- data/tracks/idris/exercises/leap/README.md +33 -0
- data/tracks/java/config/maintainers.json +45 -0
- data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
- data/tracks/javascript/config/maintainers.json +85 -0
- data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
- data/tracks/julia/config.json +81 -5
- data/tracks/julia/exercises/anagram/README.md +13 -0
- data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
- data/tracks/julia/exercises/bob/README.md +18 -0
- data/tracks/julia/exercises/complex-numbers/README.md +24 -0
- data/tracks/julia/exercises/custom-set/README.md +16 -0
- data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
- data/tracks/julia/exercises/etl/README.md +51 -0
- data/tracks/julia/exercises/gigasecond/README.md +11 -0
- data/tracks/julia/exercises/hamming/README.md +42 -0
- data/tracks/julia/exercises/hello-world/README.md +21 -0
- data/tracks/julia/exercises/isogram/README.md +19 -0
- data/tracks/julia/exercises/leap/README.md +33 -0
- data/tracks/julia/exercises/luhn/README.md +71 -0
- data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
- data/tracks/julia/exercises/pangram/README.md +15 -0
- data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
- data/tracks/julia/exercises/raindrops/README.md +24 -0
- data/tracks/julia/exercises/rna-transcription/README.md +25 -0
- data/tracks/julia/exercises/robot-name/README.md +41 -0
- data/tracks/julia/exercises/roman-numerals/README.md +49 -0
- data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
- data/tracks/julia/exercises/scrabble-score/README.md +44 -0
- data/tracks/julia/exercises/secret-handshake/README.md +35 -0
- data/tracks/julia/exercises/sieve/README.md +34 -0
- data/tracks/julia/exercises/transpose/README.md +65 -0
- data/tracks/julia/exercises/trinary/README.md +28 -0
- data/tracks/julia/exercises/word-count/README.md +19 -0
- data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
- data/tracks/lfe/config.json +125 -33
- data/tracks/lfe/exercises/accumulate/README.md +51 -0
- data/tracks/lfe/exercises/allergies/README.md +53 -0
- data/tracks/lfe/exercises/anagram/README.md +29 -0
- data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
- data/tracks/lfe/exercises/bank-account/README.md +46 -0
- data/tracks/lfe/exercises/beer-song/README.md +343 -0
- data/tracks/lfe/exercises/binary/README.md +51 -0
- data/tracks/lfe/exercises/bob/README.md +34 -0
- data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
- data/tracks/lfe/exercises/clock/README.md +29 -0
- data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
- data/tracks/lfe/exercises/etl/README.md +67 -0
- data/tracks/lfe/exercises/gigasecond/README.md +27 -0
- data/tracks/lfe/exercises/grade-school/README.md +58 -0
- data/tracks/lfe/exercises/grains/README.md +50 -0
- data/tracks/lfe/exercises/hamming/README.md +58 -0
- data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
- data/tracks/lfe/exercises/leap/README.md +49 -0
- data/tracks/lfe/exercises/luhn/README.md +87 -0
- data/tracks/lfe/exercises/meetup/README.md +46 -0
- data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
- data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
- data/tracks/lfe/exercises/phone-number/README.md +50 -0
- data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
- data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
- data/tracks/lfe/exercises/series/README.md +43 -0
- data/tracks/lfe/exercises/space-age/README.md +40 -0
- data/tracks/lfe/exercises/strain/README.md +56 -0
- data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
- data/tracks/lfe/exercises/trinary/README.md +44 -0
- data/tracks/lfe/exercises/word-count/README.md +35 -0
- data/tracks/lua/config/maintainers.json +35 -0
- data/tracks/lua/config.json +225 -3
- data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nasm/config.json +0 -5
- data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
- data/tracks/nim/config.json +56 -19
- data/tracks/nim/exercises/anagram/README.md +13 -0
- data/tracks/nim/exercises/binary/README.md +35 -0
- data/tracks/nim/exercises/bob/README.md +18 -0
- data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
- data/tracks/nim/exercises/hamming/README.md +42 -0
- data/tracks/nim/exercises/hello-world/README.md +21 -0
- data/tracks/nim/exercises/leap/README.md +33 -0
- data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
- data/tracks/nim/exercises/queen-attack/README.md +33 -0
- data/tracks/nim/exercises/raindrops/README.md +24 -0
- data/tracks/nim/exercises/react/README.md +19 -0
- data/tracks/nim/exercises/rna-transcription/README.md +25 -0
- data/tracks/nim/exercises/triangle/README.md +26 -0
- data/tracks/nim/exercises/word-count/README.md +19 -0
- data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
- data/tracks/objective-c/config/maintainers.json +35 -0
- data/tracks/objective-c/config.json +168 -47
- data/tracks/objective-c/exercises/acronym/README.md +32 -0
- data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
- data/tracks/objective-c/exercises/allergies/README.md +54 -0
- data/tracks/objective-c/exercises/anagram/README.md +30 -0
- data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
- data/tracks/objective-c/exercises/beer-song/README.md +344 -0
- data/tracks/objective-c/exercises/binary-search/README.md +58 -0
- data/tracks/objective-c/exercises/bob/README.md +35 -0
- data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
- data/tracks/objective-c/exercises/clock/README.md +30 -0
- data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
- data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
- data/tracks/objective-c/exercises/etl/README.md +68 -0
- data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
- data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
- data/tracks/objective-c/exercises/grade-school/README.md +59 -0
- data/tracks/objective-c/exercises/hamming/README.md +59 -0
- data/tracks/objective-c/exercises/hello-world/README.md +38 -0
- data/tracks/objective-c/exercises/isogram/README.md +36 -0
- data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
- data/tracks/objective-c/exercises/leap/README.md +50 -0
- data/tracks/objective-c/exercises/luhn/README.md +88 -0
- data/tracks/objective-c/exercises/meetup/README.md +47 -0
- data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
- data/tracks/objective-c/exercises/pangram/README.md +32 -0
- data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
- data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
- data/tracks/objective-c/exercises/phone-number/README.md +51 -0
- data/tracks/objective-c/exercises/raindrops/README.md +41 -0
- data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
- data/tracks/objective-c/exercises/robot-name/README.md +39 -0
- data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
- data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
- data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
- data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
- data/tracks/objective-c/exercises/sieve/README.md +51 -0
- data/tracks/objective-c/exercises/space-age/README.md +41 -0
- data/tracks/objective-c/exercises/sublist/README.md +38 -0
- data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
- data/tracks/objective-c/exercises/transpose/README.md +82 -0
- data/tracks/objective-c/exercises/triangle/README.md +43 -0
- data/tracks/objective-c/exercises/word-count/README.md +36 -0
- data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
- data/tracks/plsql/config.json +0 -2
- data/tracks/plsql/exercises/binary/README.md +55 -0
- data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
- data/tracks/plsql/exercises/gigasecond/README.md +31 -0
- data/tracks/plsql/exercises/grains/README.md +54 -0
- data/tracks/plsql/exercises/hamming/README.md +62 -0
- data/tracks/plsql/exercises/leap/README.md +53 -0
- data/tracks/plsql/exercises/nth-prime/README.md +35 -0
- data/tracks/plsql/exercises/raindrops/README.md +44 -0
- data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
- data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
- data/tracks/powershell/config.json +8 -5
- data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
- data/tracks/prolog/config.json +33 -5
- data/tracks/prolog/exercises/anagram/README.md +13 -0
- data/tracks/prolog/exercises/binary/README.md +35 -0
- data/tracks/prolog/exercises/grains/README.md +34 -0
- data/tracks/prolog/exercises/hamming/README.md +42 -0
- data/tracks/prolog/exercises/hello-world/README.md +21 -0
- data/tracks/prolog/exercises/leap/README.md +33 -0
- data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
- data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
- data/tracks/prolog/exercises/space-age/README.md +24 -0
- data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/prolog/exercises/triangle/README.md +26 -0
- data/tracks/python/requirements-travis.txt +1 -1
- data/tracks/r/config/maintainers.json +35 -0
- data/tracks/r/config.json +1 -1
- data/tracks/racket/README.md +1 -1
- data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
- data/tracks/racket/config.json +93 -25
- data/tracks/racket/exercises/accumulate/README.md +60 -0
- data/tracks/racket/exercises/acronym/README.md +40 -0
- data/tracks/racket/exercises/allergies/README.md +62 -0
- data/tracks/racket/exercises/anagram/README.md +38 -0
- data/tracks/racket/exercises/bob/README.md +43 -0
- data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
- data/tracks/racket/exercises/etl/README.md +76 -0
- data/tracks/racket/exercises/gigasecond/README.md +36 -0
- data/tracks/racket/exercises/grains/README.md +59 -0
- data/tracks/racket/exercises/grep/README.md +96 -0
- data/tracks/racket/exercises/hamming/README.md +67 -0
- data/tracks/racket/exercises/hello-world/README.md +46 -0
- data/tracks/racket/exercises/leap/README.md +58 -0
- data/tracks/racket/exercises/list-ops/README.md +35 -0
- data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
- data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
- data/tracks/racket/exercises/phone-number/README.md +59 -0
- data/tracks/racket/exercises/raindrops/README.md +49 -0
- data/tracks/racket/exercises/rna-transcription/README.md +50 -0
- data/tracks/racket/exercises/roman-numerals/README.md +74 -0
- data/tracks/racket/exercises/say/README.md +94 -0
- data/tracks/racket/exercises/scrabble-score/README.md +69 -0
- data/tracks/racket/exercises/word-count/README.md +44 -0
- data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
- data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
- data/tracks/scala/config/maintainers.json +29 -0
- data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
- data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
- data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
- data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
- data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
- data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
- data/tracks/scheme/config.json +42 -3
- data/tracks/scheme/exercises/anagram/README.md +13 -0
- data/tracks/scheme/exercises/bob/README.md +18 -0
- data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
- data/tracks/scheme/exercises/grains/README.md +34 -0
- data/tracks/scheme/exercises/hamming/README.md +42 -0
- data/tracks/scheme/exercises/hello-world/README.md +21 -0
- data/tracks/scheme/exercises/leap/README.md +33 -0
- data/tracks/scheme/exercises/list-ops/README.md +10 -0
- data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
- data/tracks/scheme/exercises/phone-number/README.md +34 -0
- data/tracks/scheme/exercises/raindrops/README.md +24 -0
- data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
- data/tracks/scheme/exercises/robot-name/README.md +22 -0
- data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
- data/tracks/sml/config/maintainers.json +25 -0
- data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
- data/tracks/typescript/config/maintainers.json +25 -0
- data/tracks/typescript/config.json +0 -2
- data/tracks/typescript/exercises/anagram/README.md +39 -0
- data/tracks/typescript/exercises/beer-song/README.md +353 -0
- data/tracks/typescript/exercises/bob/README.md +44 -0
- data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
- data/tracks/typescript/exercises/etl/README.md +77 -0
- data/tracks/typescript/exercises/food-chain/README.md +96 -0
- data/tracks/typescript/exercises/gigasecond/README.md +37 -0
- data/tracks/typescript/exercises/grade-school/README.md +68 -0
- data/tracks/typescript/exercises/hamming/README.md +68 -0
- data/tracks/typescript/exercises/hello-world/README.md +47 -0
- data/tracks/typescript/exercises/leap/README.md +59 -0
- data/tracks/typescript/exercises/pangram/README.md +41 -0
- data/tracks/typescript/exercises/phone-number/README.md +60 -0
- data/tracks/typescript/exercises/raindrops/README.md +50 -0
- data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
- data/tracks/typescript/exercises/robot-name/README.md +48 -0
- data/tracks/typescript/exercises/say/README.md +95 -0
- data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
- data/tracks/typescript/exercises/space-age/README.md +50 -0
- data/tracks/typescript/exercises/word-count/README.md +45 -0
- data/tracks/typescript/exercises/wordy/README.md +89 -0
- data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
- data/tracks/vbnet/config.json +28 -12
- data/tracks/vbnet/exercises/accumulate/README.md +41 -0
- data/tracks/vbnet/exercises/allergies/README.md +43 -0
- data/tracks/vbnet/exercises/anagram/README.md +19 -0
- data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
- data/tracks/vbnet/exercises/binary/README.md +41 -0
- data/tracks/vbnet/exercises/bob/README.md +24 -0
- data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
- metadata +401 -4
- data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
- data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
data/tracks/racket/config.json
CHANGED
|
@@ -3,164 +3,232 @@
|
|
|
3
3
|
"active": true,
|
|
4
4
|
"exercises": [
|
|
5
5
|
{
|
|
6
|
-
"
|
|
6
|
+
"uuid": "4fb471fc-4e6d-486d-abf5-939e89f028fc",
|
|
7
7
|
"slug": "hello-world",
|
|
8
|
+
"core": false,
|
|
9
|
+
"unlocked_by": null,
|
|
10
|
+
"difficulty": 1,
|
|
8
11
|
"topics": [
|
|
9
12
|
"optional values",
|
|
10
13
|
"text formatting"
|
|
11
14
|
]
|
|
12
15
|
},
|
|
13
16
|
{
|
|
14
|
-
"
|
|
17
|
+
"uuid": "b5b537d0-7c5d-45e5-af1d-b4da4f32514b",
|
|
15
18
|
"slug": "grains",
|
|
19
|
+
"core": false,
|
|
20
|
+
"unlocked_by": null,
|
|
21
|
+
"difficulty": 1,
|
|
16
22
|
"topics": [
|
|
17
23
|
|
|
18
24
|
]
|
|
19
25
|
},
|
|
20
26
|
{
|
|
21
|
-
"
|
|
27
|
+
"uuid": "e84ac1ee-6e7e-40b4-826a-ed3d41890b83",
|
|
22
28
|
"slug": "leap",
|
|
29
|
+
"core": false,
|
|
30
|
+
"unlocked_by": null,
|
|
31
|
+
"difficulty": 1,
|
|
23
32
|
"topics": [
|
|
24
33
|
|
|
25
34
|
]
|
|
26
35
|
},
|
|
27
36
|
{
|
|
28
|
-
"
|
|
37
|
+
"uuid": "a3d9a2bb-a80a-487f-b529-64e20f7cf9b5",
|
|
29
38
|
"slug": "difference-of-squares",
|
|
39
|
+
"core": false,
|
|
40
|
+
"unlocked_by": null,
|
|
41
|
+
"difficulty": 1,
|
|
30
42
|
"topics": [
|
|
31
43
|
|
|
32
44
|
]
|
|
33
45
|
},
|
|
34
46
|
{
|
|
35
|
-
"
|
|
47
|
+
"uuid": "72b2c36b-fcd5-4c8c-89e7-98bf24faaa3e",
|
|
36
48
|
"slug": "perfect-numbers",
|
|
49
|
+
"core": false,
|
|
50
|
+
"unlocked_by": null,
|
|
51
|
+
"difficulty": 1,
|
|
37
52
|
"topics": [
|
|
38
53
|
|
|
39
54
|
]
|
|
40
55
|
},
|
|
41
56
|
{
|
|
42
|
-
"
|
|
57
|
+
"uuid": "c7550977-bc29-47e9-9aeb-9e3ee34032b2",
|
|
43
58
|
"slug": "gigasecond",
|
|
59
|
+
"core": false,
|
|
60
|
+
"unlocked_by": null,
|
|
61
|
+
"difficulty": 1,
|
|
44
62
|
"topics": [
|
|
45
63
|
|
|
46
64
|
]
|
|
47
65
|
},
|
|
48
66
|
{
|
|
49
|
-
"
|
|
67
|
+
"uuid": "3e5e67fa-991b-4120-abf0-6f10f9dfaca8",
|
|
50
68
|
"slug": "bob",
|
|
69
|
+
"core": false,
|
|
70
|
+
"unlocked_by": null,
|
|
71
|
+
"difficulty": 1,
|
|
51
72
|
"topics": [
|
|
52
73
|
|
|
53
74
|
]
|
|
54
75
|
},
|
|
55
76
|
{
|
|
56
|
-
"
|
|
77
|
+
"uuid": "f0a6e55d-6702-4043-bdcf-2ed99bf60645",
|
|
57
78
|
"slug": "hamming",
|
|
79
|
+
"core": false,
|
|
80
|
+
"unlocked_by": null,
|
|
81
|
+
"difficulty": 1,
|
|
58
82
|
"topics": [
|
|
59
83
|
|
|
60
84
|
]
|
|
61
85
|
},
|
|
62
86
|
{
|
|
63
|
-
"
|
|
87
|
+
"uuid": "74d67f30-1f31-4289-a9bc-1bf69ec54ae2",
|
|
64
88
|
"slug": "scrabble-score",
|
|
89
|
+
"core": false,
|
|
90
|
+
"unlocked_by": null,
|
|
91
|
+
"difficulty": 1,
|
|
65
92
|
"topics": [
|
|
66
93
|
|
|
67
94
|
]
|
|
68
95
|
},
|
|
69
96
|
{
|
|
70
|
-
"
|
|
97
|
+
"uuid": "c5a747dc-f283-4cf6-8435-fde885f63089",
|
|
71
98
|
"slug": "roman-numerals",
|
|
99
|
+
"core": false,
|
|
100
|
+
"unlocked_by": null,
|
|
101
|
+
"difficulty": 1,
|
|
72
102
|
"topics": [
|
|
73
103
|
|
|
74
104
|
]
|
|
75
105
|
},
|
|
76
106
|
{
|
|
77
|
-
"
|
|
107
|
+
"uuid": "67b41645-7a02-4c45-af55-86401db69eee",
|
|
78
108
|
"slug": "anagram",
|
|
109
|
+
"core": false,
|
|
110
|
+
"unlocked_by": null,
|
|
111
|
+
"difficulty": 1,
|
|
79
112
|
"topics": [
|
|
80
113
|
|
|
81
114
|
]
|
|
82
115
|
},
|
|
83
116
|
{
|
|
84
|
-
"
|
|
117
|
+
"uuid": "2936d930-2359-44ea-8342-656016d3ec79",
|
|
85
118
|
"slug": "rna-transcription",
|
|
119
|
+
"core": false,
|
|
120
|
+
"unlocked_by": null,
|
|
121
|
+
"difficulty": 1,
|
|
86
122
|
"topics": [
|
|
87
123
|
|
|
88
124
|
]
|
|
89
125
|
},
|
|
90
126
|
{
|
|
91
|
-
"
|
|
127
|
+
"uuid": "7c1cdc16-30c8-460f-aa6a-cc0655436f22",
|
|
92
128
|
"slug": "etl",
|
|
129
|
+
"core": false,
|
|
130
|
+
"unlocked_by": null,
|
|
131
|
+
"difficulty": 1,
|
|
93
132
|
"topics": [
|
|
94
133
|
|
|
95
134
|
]
|
|
96
135
|
},
|
|
97
136
|
{
|
|
98
|
-
"
|
|
137
|
+
"uuid": "b931f727-b5b1-4f42-9799-faca692dd32e",
|
|
99
138
|
"slug": "word-count",
|
|
139
|
+
"core": false,
|
|
140
|
+
"unlocked_by": null,
|
|
141
|
+
"difficulty": 1,
|
|
100
142
|
"topics": [
|
|
101
143
|
|
|
102
144
|
]
|
|
103
145
|
},
|
|
104
146
|
{
|
|
105
|
-
"
|
|
147
|
+
"uuid": "aad41852-c939-4168-89c8-ae873892c5f9",
|
|
106
148
|
"slug": "phone-number",
|
|
149
|
+
"core": false,
|
|
150
|
+
"unlocked_by": null,
|
|
151
|
+
"difficulty": 1,
|
|
107
152
|
"topics": [
|
|
108
153
|
|
|
109
154
|
]
|
|
110
155
|
},
|
|
111
156
|
{
|
|
112
|
-
"
|
|
157
|
+
"uuid": "9fbd3939-f71a-4506-bcc3-e9940d4027ed",
|
|
113
158
|
"slug": "nucleotide-count",
|
|
159
|
+
"core": false,
|
|
160
|
+
"unlocked_by": null,
|
|
161
|
+
"difficulty": 1,
|
|
114
162
|
"topics": [
|
|
115
163
|
|
|
116
164
|
]
|
|
117
165
|
},
|
|
118
166
|
{
|
|
119
|
-
"
|
|
167
|
+
"uuid": "9795a374-30ae-492b-bcd7-1648ea5264b7",
|
|
120
168
|
"slug": "raindrops",
|
|
169
|
+
"core": false,
|
|
170
|
+
"unlocked_by": null,
|
|
171
|
+
"difficulty": 1,
|
|
121
172
|
"topics": [
|
|
122
173
|
|
|
123
174
|
]
|
|
124
175
|
},
|
|
125
176
|
{
|
|
126
|
-
"
|
|
177
|
+
"uuid": "37ab62d8-deb3-4fa4-8016-0b22f3d2f66d",
|
|
127
178
|
"slug": "grep",
|
|
179
|
+
"core": false,
|
|
180
|
+
"unlocked_by": null,
|
|
181
|
+
"difficulty": 1,
|
|
128
182
|
"topics": [
|
|
129
183
|
|
|
130
184
|
]
|
|
131
185
|
},
|
|
132
186
|
{
|
|
133
|
-
"
|
|
187
|
+
"uuid": "0f64407b-0f01-4c4c-b721-fefdb8f98d16",
|
|
134
188
|
"slug": "say",
|
|
189
|
+
"core": false,
|
|
190
|
+
"unlocked_by": null,
|
|
191
|
+
"difficulty": 1,
|
|
135
192
|
"topics": [
|
|
136
193
|
|
|
137
194
|
]
|
|
138
195
|
},
|
|
139
196
|
{
|
|
140
|
-
"
|
|
197
|
+
"uuid": "881f83d7-1c80-4045-9a3f-def45c8f5764",
|
|
141
198
|
"slug": "allergies",
|
|
199
|
+
"core": false,
|
|
200
|
+
"unlocked_by": null,
|
|
201
|
+
"difficulty": 1,
|
|
142
202
|
"topics": [
|
|
143
203
|
|
|
144
204
|
]
|
|
145
205
|
},
|
|
146
206
|
{
|
|
147
|
-
"
|
|
207
|
+
"uuid": "874b53f5-d9ef-4fd9-be62-3fe16692e565",
|
|
148
208
|
"slug": "list-ops",
|
|
209
|
+
"core": false,
|
|
210
|
+
"unlocked_by": null,
|
|
211
|
+
"difficulty": 1,
|
|
149
212
|
"topics": [
|
|
150
213
|
|
|
151
214
|
]
|
|
152
215
|
},
|
|
153
216
|
{
|
|
154
|
-
"
|
|
217
|
+
"uuid": "daeb92dc-efea-4bea-b657-3383b1880e49",
|
|
155
218
|
"slug": "acronym",
|
|
219
|
+
"core": false,
|
|
220
|
+
"unlocked_by": null,
|
|
221
|
+
"difficulty": 1,
|
|
156
222
|
"topics": [
|
|
157
223
|
|
|
158
224
|
]
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"uuid": "b234225c-fcde-445f-9222-f80c25d0f499",
|
|
228
|
+
"slug": "accumulate",
|
|
229
|
+
"deprecated": true
|
|
159
230
|
}
|
|
160
231
|
],
|
|
161
|
-
"deprecated": [
|
|
162
|
-
"accumulate"
|
|
163
|
-
],
|
|
164
232
|
"foregone": [
|
|
165
233
|
|
|
166
234
|
]
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Accumulate
|
|
2
|
+
|
|
3
|
+
Implement the `accumulate` operation, which, given a collection and an
|
|
4
|
+
operation to perform on each element of the collection, returns a new
|
|
5
|
+
collection containing the result of applying that operation to each element of
|
|
6
|
+
the input collection.
|
|
7
|
+
|
|
8
|
+
Given the collection of numbers:
|
|
9
|
+
|
|
10
|
+
- 1, 2, 3, 4, 5
|
|
11
|
+
|
|
12
|
+
And the operation:
|
|
13
|
+
|
|
14
|
+
- square a number (`x => x * x`)
|
|
15
|
+
|
|
16
|
+
Your code should be able to produce the collection of squares:
|
|
17
|
+
|
|
18
|
+
- 1, 4, 9, 16, 25
|
|
19
|
+
|
|
20
|
+
Check out the test suite to see the expected function signature.
|
|
21
|
+
|
|
22
|
+
## Restrictions
|
|
23
|
+
|
|
24
|
+
Keep your hands off that collect/map/fmap/whatchamacallit functionality
|
|
25
|
+
provided by your standard library!
|
|
26
|
+
Solve this one yourself using other basic tools instead.
|
|
27
|
+
|
|
28
|
+
Lisp specific: it's perfectly fine to use `MAPCAR` or the equivalent,
|
|
29
|
+
as this is idiomatic Lisp, not a library function.
|
|
30
|
+
|
|
31
|
+
* * * *
|
|
32
|
+
|
|
33
|
+
For installation and learning resources, refer to the
|
|
34
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
35
|
+
|
|
36
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
37
|
+
|
|
38
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
39
|
+
|
|
40
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
41
|
+
|
|
42
|
+
```
|
|
43
|
+
raco test hello-world-test.rkt
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
which will display the following:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
50
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
51
|
+
0
|
|
52
|
+
2 tests passed
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Source
|
|
56
|
+
|
|
57
|
+
Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
|
|
58
|
+
|
|
59
|
+
## Submitting Incomplete Solutions
|
|
60
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Acronym
|
|
2
|
+
|
|
3
|
+
Convert a phrase to its acronym.
|
|
4
|
+
|
|
5
|
+
Techies love their TLA (Three Letter Acronyms)!
|
|
6
|
+
|
|
7
|
+
Help generate some jargon by writing a program that converts a long name
|
|
8
|
+
like Portable Network Graphics to its acronym (PNG).
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
* * * *
|
|
12
|
+
|
|
13
|
+
For installation and learning resources, refer to the
|
|
14
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
15
|
+
|
|
16
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
17
|
+
|
|
18
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
19
|
+
|
|
20
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
raco test hello-world-test.rkt
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
which will display the following:
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
30
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
31
|
+
0
|
|
32
|
+
2 tests passed
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Source
|
|
36
|
+
|
|
37
|
+
Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
|
|
38
|
+
|
|
39
|
+
## Submitting Incomplete Solutions
|
|
40
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Allergies
|
|
2
|
+
|
|
3
|
+
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
|
|
4
|
+
|
|
5
|
+
An allergy test produces a single numeric score which contains the
|
|
6
|
+
information about all the allergies the person has (that they were
|
|
7
|
+
tested for).
|
|
8
|
+
|
|
9
|
+
The list of items (and their value) that were tested are:
|
|
10
|
+
|
|
11
|
+
* eggs (1)
|
|
12
|
+
* peanuts (2)
|
|
13
|
+
* shellfish (4)
|
|
14
|
+
* strawberries (8)
|
|
15
|
+
* tomatoes (16)
|
|
16
|
+
* chocolate (32)
|
|
17
|
+
* pollen (64)
|
|
18
|
+
* cats (128)
|
|
19
|
+
|
|
20
|
+
So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
|
|
21
|
+
|
|
22
|
+
Now, given just that score of 34, your program should be able to say:
|
|
23
|
+
|
|
24
|
+
- Whether Tom is allergic to any one of those allergens listed above.
|
|
25
|
+
- All the allergens Tom is allergic to.
|
|
26
|
+
|
|
27
|
+
Note: a given score may include allergens **not** listed above (i.e.
|
|
28
|
+
allergens that score 256, 512, 1024, etc.). Your program should
|
|
29
|
+
ignore those components of the score. For example, if the allergy
|
|
30
|
+
score is 257, your program should only report the eggs (1) allergy.
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
* * * *
|
|
34
|
+
|
|
35
|
+
For installation and learning resources, refer to the
|
|
36
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
37
|
+
|
|
38
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
39
|
+
|
|
40
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
41
|
+
|
|
42
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
raco test hello-world-test.rkt
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
which will display the following:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
52
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
53
|
+
0
|
|
54
|
+
2 tests passed
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
## Source
|
|
58
|
+
|
|
59
|
+
Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
60
|
+
|
|
61
|
+
## Submitting Incomplete Solutions
|
|
62
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Anagram
|
|
2
|
+
|
|
3
|
+
Given a word and a list of possible anagrams, select the correct sublist.
|
|
4
|
+
|
|
5
|
+
Given `"listen"` and a list of candidates like `"enlists" "google"
|
|
6
|
+
"inlets" "banana"` the program should return a list containing
|
|
7
|
+
`"inlets"`.
|
|
8
|
+
|
|
9
|
+
* * * *
|
|
10
|
+
|
|
11
|
+
For installation and learning resources, refer to the
|
|
12
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
13
|
+
|
|
14
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
15
|
+
|
|
16
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
17
|
+
|
|
18
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
raco test hello-world-test.rkt
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
which will display the following:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
28
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
29
|
+
0
|
|
30
|
+
2 tests passed
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Source
|
|
34
|
+
|
|
35
|
+
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
|
36
|
+
|
|
37
|
+
## Submitting Incomplete Solutions
|
|
38
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# Bob
|
|
2
|
+
|
|
3
|
+
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
|
|
4
|
+
|
|
5
|
+
Bob answers 'Sure.' if you ask him a question.
|
|
6
|
+
|
|
7
|
+
He answers 'Whoa, chill out!' if you yell at him.
|
|
8
|
+
|
|
9
|
+
He says 'Fine. Be that way!' if you address him without actually saying
|
|
10
|
+
anything.
|
|
11
|
+
|
|
12
|
+
He answers 'Whatever.' to anything else.
|
|
13
|
+
|
|
14
|
+
* * * *
|
|
15
|
+
|
|
16
|
+
For installation and learning resources, refer to the
|
|
17
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
18
|
+
|
|
19
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
20
|
+
|
|
21
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
22
|
+
|
|
23
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
raco test hello-world-test.rkt
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
which will display the following:
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
33
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
34
|
+
0
|
|
35
|
+
2 tests passed
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Source
|
|
39
|
+
|
|
40
|
+
Inspired by the 'Deaf Grandma' exercise in Chris Pine's Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=06](http://pine.fm/LearnToProgram/?Chapter=06)
|
|
41
|
+
|
|
42
|
+
## Submitting Incomplete Solutions
|
|
43
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Difference Of Squares
|
|
2
|
+
|
|
3
|
+
Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
|
|
4
|
+
|
|
5
|
+
The square of the sum of the first ten natural numbers is
|
|
6
|
+
(1 + 2 + ... + 10)² = 55² = 3025.
|
|
7
|
+
|
|
8
|
+
The sum of the squares of the first ten natural numbers is
|
|
9
|
+
1² + 2² + ... + 10² = 385.
|
|
10
|
+
|
|
11
|
+
Hence the difference between the square of the sum of the first
|
|
12
|
+
ten natural numbers and the sum of the squares of the first ten
|
|
13
|
+
natural numbers is 3025 - 385 = 2640.
|
|
14
|
+
|
|
15
|
+
* * * *
|
|
16
|
+
|
|
17
|
+
For installation and learning resources, refer to the
|
|
18
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
19
|
+
|
|
20
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
21
|
+
|
|
22
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
23
|
+
|
|
24
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
raco test hello-world-test.rkt
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
which will display the following:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
34
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
35
|
+
0
|
|
36
|
+
2 tests passed
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Source
|
|
40
|
+
|
|
41
|
+
Problem 6 at Project Euler [http://projecteuler.net/problem=6](http://projecteuler.net/problem=6)
|
|
42
|
+
|
|
43
|
+
## Submitting Incomplete Solutions
|
|
44
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Etl
|
|
2
|
+
|
|
3
|
+
We are going to do the `Transform` step of an Extract-Transform-Load.
|
|
4
|
+
|
|
5
|
+
### ETL
|
|
6
|
+
Extract-Transform-Load (ETL) is a fancy way of saying, "We have some crufty, legacy data over in this system, and now we need it in this shiny new system over here, so
|
|
7
|
+
we're going to migrate this."
|
|
8
|
+
|
|
9
|
+
(Typically, this is followed by, "We're only going to need to run this
|
|
10
|
+
once." That's then typically followed by much forehead slapping and
|
|
11
|
+
moaning about how stupid we could possibly be.)
|
|
12
|
+
|
|
13
|
+
### The goal
|
|
14
|
+
We're going to extract some scrabble scores from a legacy system.
|
|
15
|
+
|
|
16
|
+
The old system stored a list of letters per score:
|
|
17
|
+
|
|
18
|
+
- 1 point: "A", "E", "I", "O", "U", "L", "N", "R", "S", "T",
|
|
19
|
+
- 2 points: "D", "G",
|
|
20
|
+
- 3 points: "B", "C", "M", "P",
|
|
21
|
+
- 4 points: "F", "H", "V", "W", "Y",
|
|
22
|
+
- 5 points: "K",
|
|
23
|
+
- 8 points: "J", "X",
|
|
24
|
+
- 10 points: "Q", "Z",
|
|
25
|
+
|
|
26
|
+
The shiny new scrabble system instead stores the score per letter, which
|
|
27
|
+
makes it much faster and easier to calculate the score for a word. It
|
|
28
|
+
also stores the letters in lower-case regardless of the case of the
|
|
29
|
+
input letters:
|
|
30
|
+
|
|
31
|
+
- "a" is worth 1 point.
|
|
32
|
+
- "b" is worth 3 points.
|
|
33
|
+
- "c" is worth 3 points.
|
|
34
|
+
- "d" is worth 2 points.
|
|
35
|
+
- Etc.
|
|
36
|
+
|
|
37
|
+
Your mission, should you choose to accept it, is to transform the legacy data
|
|
38
|
+
format to the shiny new format.
|
|
39
|
+
|
|
40
|
+
### Notes
|
|
41
|
+
|
|
42
|
+
A final note about scoring, Scrabble is played around the world in a
|
|
43
|
+
variety of languages, each with its own unique scoring table. For
|
|
44
|
+
example, an "E" is scored at 2 in the Māori-language version of the
|
|
45
|
+
game while being scored at 4 in the Hawaiian-language version.
|
|
46
|
+
|
|
47
|
+
* * * *
|
|
48
|
+
|
|
49
|
+
For installation and learning resources, refer to the
|
|
50
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
51
|
+
|
|
52
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
53
|
+
|
|
54
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
55
|
+
|
|
56
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
raco test hello-world-test.rkt
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
which will display the following:
|
|
63
|
+
|
|
64
|
+
```
|
|
65
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
66
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
67
|
+
0
|
|
68
|
+
2 tests passed
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Source
|
|
72
|
+
|
|
73
|
+
The Jumpstart Lab team [http://jumpstartlab.com](http://jumpstartlab.com)
|
|
74
|
+
|
|
75
|
+
## Submitting Incomplete Solutions
|
|
76
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Gigasecond
|
|
2
|
+
|
|
3
|
+
Calculate the moment when someone has lived for 10^9 seconds.
|
|
4
|
+
|
|
5
|
+
A gigasecond is 10^9 (1,000,000,000) seconds.
|
|
6
|
+
|
|
7
|
+
* * * *
|
|
8
|
+
|
|
9
|
+
For installation and learning resources, refer to the
|
|
10
|
+
[exercism Racket page](http://exercism.io/languages/racket).
|
|
11
|
+
|
|
12
|
+
You can run the provided tests through DrRacket, or via the command line.
|
|
13
|
+
|
|
14
|
+
To run the test through DrRacket, simply open the test file and click the 'Run' button in the upper right.
|
|
15
|
+
|
|
16
|
+
To run the test from the command line, simply run the test from the exercise directory. For example, if the test suite is called `hello-world-test.rkt`, you can run the following command:
|
|
17
|
+
|
|
18
|
+
```
|
|
19
|
+
raco test hello-world-test.rkt
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
which will display the following:
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
raco test: (submod "hello-world-test.rkt" test)
|
|
26
|
+
2 success(es) 0 failure(s) 0 error(s) 2 test(s) run
|
|
27
|
+
0
|
|
28
|
+
2 tests passed
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Source
|
|
32
|
+
|
|
33
|
+
Chapter 9 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=09](http://pine.fm/LearnToProgram/?Chapter=09)
|
|
34
|
+
|
|
35
|
+
## Submitting Incomplete Solutions
|
|
36
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|