trackler 2.2.0.2 → 2.2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/fixtures/deprecation-fixtures/tracks/repo-nope/config.json +2 -0
- data/fixtures/deprecation-fixtures/tracks/repo-yepp/config.json +3 -0
- data/lib/trackler/track.rb +1 -1
- data/lib/trackler/version.rb +1 -1
- data/tracks/csharp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/csharp/exercises/accumulate/README.md +44 -0
- data/tracks/csharp/exercises/acronym/README.md +21 -0
- data/tracks/csharp/exercises/all-your-base/README.md +41 -0
- data/tracks/csharp/exercises/allergies/README.md +46 -0
- data/tracks/csharp/exercises/alphametics/README.md +48 -0
- data/tracks/csharp/exercises/anagram/README.md +19 -0
- data/tracks/csharp/exercises/atbash-cipher/README.md +40 -0
- data/tracks/csharp/exercises/bank-account/README.md +41 -0
- data/tracks/csharp/exercises/beer-song/README.md +336 -0
- data/tracks/csharp/exercises/binary-search-tree/README.md +66 -0
- data/tracks/csharp/exercises/binary-search/README.md +47 -0
- data/tracks/csharp/exercises/bob/README.md +24 -0
- data/tracks/csharp/exercises/book-store/README.md +80 -0
- data/tracks/csharp/exercises/bowling/README.md +59 -0
- data/tracks/csharp/exercises/bracket-push/README.md +16 -0
- data/tracks/csharp/exercises/change/README.md +29 -0
- data/tracks/csharp/exercises/circular-buffer/README.md +56 -0
- data/tracks/csharp/exercises/clock/README.md +25 -0
- data/tracks/csharp/exercises/connect/README.md +40 -0
- data/tracks/csharp/exercises/crypto-square/README.md +80 -0
- data/tracks/csharp/exercises/custom-set/README.md +23 -0
- data/tracks/csharp/exercises/diamond/README.md +75 -0
- data/tracks/csharp/exercises/difference-of-squares/README.md +30 -0
- data/tracks/csharp/exercises/diffie-hellman/README.md +55 -0
- data/tracks/csharp/exercises/dominoes/README.md +24 -0
- data/tracks/csharp/exercises/dot-dsl/README.md +37 -0
- data/tracks/csharp/exercises/error-handling/README.md +19 -0
- data/tracks/csharp/exercises/etl/README.md +57 -0
- data/tracks/csharp/exercises/flatten-array/README.md +24 -0
- data/tracks/csharp/exercises/food-chain/README.md +80 -0
- data/tracks/csharp/exercises/forth/README.md +39 -0
- data/tracks/csharp/exercises/gigasecond/README.md +17 -0
- data/tracks/csharp/exercises/go-counting/README.md +43 -0
- data/tracks/csharp/exercises/grade-school/README.md +48 -0
- data/tracks/csharp/exercises/grains/README.md +40 -0
- data/tracks/csharp/exercises/grep/README.md +77 -0
- data/tracks/csharp/exercises/hamming/README.md +48 -0
- data/tracks/csharp/exercises/hangman/README.md +32 -0
- data/tracks/csharp/exercises/hello-world/README.md +27 -0
- data/tracks/csharp/exercises/house/README.md +123 -0
- data/tracks/csharp/exercises/isogram/README.md +25 -0
- data/tracks/csharp/exercises/kindergarten-garden/README.md +72 -0
- data/tracks/csharp/exercises/largest-series-product/README.md +26 -0
- data/tracks/csharp/exercises/leap/README.md +39 -0
- data/tracks/csharp/exercises/ledger/README.md +24 -0
- data/tracks/csharp/exercises/linked-list/README.md +40 -0
- data/tracks/csharp/exercises/list-ops/README.md +19 -0
- data/tracks/csharp/exercises/luhn/README.md +77 -0
- data/tracks/csharp/exercises/markdown/README.md +28 -0
- data/tracks/csharp/exercises/matrix/README.md +51 -0
- data/tracks/csharp/exercises/meetup/README.md +36 -0
- data/tracks/csharp/exercises/minesweeper/README.md +36 -0
- data/tracks/csharp/exercises/nth-prime/README.md +29 -0
- data/tracks/csharp/exercises/nucleotide-count/README.md +43 -0
- data/tracks/csharp/exercises/ocr-numbers/README.md +91 -0
- data/tracks/csharp/exercises/palindrome-products/README.md +51 -0
- data/tracks/csharp/exercises/pangram/README.md +21 -0
- data/tracks/csharp/exercises/parallel-letter-frequency/README.md +17 -0
- data/tracks/csharp/exercises/pascals-triangle/README.md +27 -0
- data/tracks/csharp/exercises/perfect-numbers/README.md +30 -0
- data/tracks/csharp/exercises/phone-number/README.md +40 -0
- data/tracks/csharp/exercises/pig-latin/README.md +30 -0
- data/tracks/csharp/exercises/poker/README.md +18 -0
- data/tracks/csharp/exercises/pov/README.md +52 -0
- data/tracks/csharp/exercises/prime-factors/README.md +42 -0
- data/tracks/csharp/exercises/protein-translation/README.md +55 -0
- data/tracks/csharp/exercises/proverb/README.md +28 -0
- data/tracks/csharp/exercises/pythagorean-triplet/README.md +30 -0
- data/tracks/csharp/exercises/queen-attack/README.md +39 -0
- data/tracks/csharp/exercises/rail-fence-cipher/README.md +66 -0
- data/tracks/csharp/exercises/raindrops/README.md +30 -0
- data/tracks/csharp/exercises/react/README.md +29 -0
- data/tracks/csharp/exercises/rectangles/README.md +73 -0
- data/tracks/csharp/exercises/rna-transcription/README.md +31 -0
- data/tracks/csharp/exercises/robot-name/README.md +28 -0
- data/tracks/csharp/exercises/robot-simulator/README.md +40 -0
- data/tracks/csharp/exercises/roman-numerals/README.md +59 -0
- data/tracks/csharp/exercises/rotational-cipher/README.md +42 -0
- data/tracks/csharp/exercises/run-length-encoding/README.md +36 -0
- data/tracks/csharp/exercises/saddle-points/README.md +44 -0
- data/tracks/csharp/exercises/say/README.md +75 -0
- data/tracks/csharp/exercises/scale-generator/README.md +66 -0
- data/tracks/csharp/exercises/scrabble-score/README.md +50 -0
- data/tracks/csharp/exercises/secret-handshake/README.md +41 -0
- data/tracks/csharp/exercises/series/README.md +33 -0
- data/tracks/csharp/exercises/sgf-parsing/README.md +78 -0
- data/tracks/csharp/exercises/sieve/README.md +40 -0
- data/tracks/csharp/exercises/simple-cipher/README.md +96 -0
- data/tracks/csharp/exercises/simple-linked-list/README.md +38 -0
- data/tracks/csharp/exercises/space-age/README.md +30 -0
- data/tracks/csharp/exercises/strain/README.md +46 -0
- data/tracks/csharp/exercises/sublist/README.md +32 -0
- data/tracks/csharp/exercises/sum-of-multiples/README.md +28 -0
- data/tracks/csharp/exercises/tournament/README.md +74 -0
- data/tracks/csharp/exercises/transpose/README.md +71 -0
- data/tracks/csharp/exercises/tree-building/README.md +36 -0
- data/tracks/csharp/exercises/triangle/README.md +32 -0
- data/tracks/csharp/exercises/twelve-days/README.md +45 -0
- data/tracks/csharp/exercises/two-bucket/README.md +42 -0
- data/tracks/csharp/exercises/variable-length-quantity/README.md +50 -0
- data/tracks/csharp/exercises/word-count/README.md +25 -0
- data/tracks/csharp/exercises/word-search/README.md +43 -0
- data/tracks/csharp/exercises/wordy/README.md +73 -0
- data/tracks/csharp/exercises/zebra-puzzle/README.md +43 -0
- data/tracks/csharp/exercises/zipper/README.md +41 -0
- data/tracks/dart/config/exercise_readme.go.tmpl +16 -0
- data/tracks/dart/exercises/bob/README.md +18 -0
- data/tracks/dart/exercises/difference-of-squares/README.md +19 -0
- data/tracks/dart/exercises/gigasecond/README.md +11 -0
- data/tracks/dart/exercises/hamming/README.md +42 -0
- data/tracks/dart/exercises/hello-world/README.md +21 -0
- data/tracks/dart/exercises/leap/README.md +33 -0
- data/tracks/dart/exercises/rna-transcription/README.md +25 -0
- data/tracks/delphi/config.json +25 -32
- data/tracks/elixir/config.json +255 -3
- data/tracks/elixir/config/exercise_readme.go.tmpl +16 -0
- data/tracks/elixir/exercises/accumulate/README.md +72 -0
- data/tracks/elixir/exercises/acronym/README.md +52 -0
- data/tracks/elixir/exercises/all-your-base/README.md +72 -0
- data/tracks/elixir/exercises/allergies/README.md +74 -0
- data/tracks/elixir/exercises/anagram/README.md +50 -0
- data/tracks/elixir/exercises/atbash-cipher/README.md +71 -0
- data/tracks/elixir/exercises/bank-account/README.md +67 -0
- data/tracks/elixir/exercises/beer-song/README.md +364 -0
- data/tracks/elixir/exercises/binary-search/README.md +78 -0
- data/tracks/elixir/exercises/binary/README.md +72 -0
- data/tracks/elixir/exercises/bob/README.md +55 -0
- data/tracks/elixir/exercises/bowling/README.md +90 -0
- data/tracks/elixir/exercises/bowling/bowling_test.exs +91 -18
- data/tracks/elixir/exercises/bowling/example.exs +4 -4
- data/tracks/elixir/exercises/bracket-push/README.md +47 -0
- data/tracks/elixir/exercises/change/README.md +60 -0
- data/tracks/elixir/exercises/clock/README.md +50 -0
- data/tracks/elixir/exercises/collatz-conjecture/README.md +70 -0
- data/tracks/elixir/exercises/connect/README.md +71 -0
- data/tracks/elixir/exercises/crypto-square/README.md +111 -0
- data/tracks/elixir/exercises/custom-set/README.md +48 -0
- data/tracks/elixir/exercises/diamond/README.md +96 -0
- data/tracks/elixir/exercises/difference-of-squares/README.md +56 -0
- data/tracks/elixir/exercises/diffie-hellman/README.md +93 -0
- data/tracks/elixir/exercises/dominoes/README.md +55 -0
- data/tracks/elixir/exercises/dot-dsl/README.md +65 -0
- data/tracks/elixir/exercises/etl/README.md +88 -0
- data/tracks/elixir/exercises/flatten-array/README.md +55 -0
- data/tracks/elixir/exercises/forth/README.md +66 -0
- data/tracks/elixir/exercises/gigasecond/README.md +48 -0
- data/tracks/elixir/exercises/grade-school/README.md +79 -0
- data/tracks/elixir/exercises/grains/README.md +71 -0
- data/tracks/elixir/exercises/grep/README.md +108 -0
- data/tracks/elixir/exercises/hamming/README.md +79 -0
- data/tracks/elixir/exercises/hello-world/README.md +58 -0
- data/tracks/elixir/exercises/hexadecimal/README.md +51 -0
- data/tracks/elixir/exercises/isogram/README.md +56 -0
- data/tracks/elixir/exercises/kindergarten-garden/README.md +103 -0
- data/tracks/elixir/exercises/largest-series-product/README.md +57 -0
- data/tracks/elixir/exercises/leap/README.md +70 -0
- data/tracks/elixir/exercises/list-ops/README.md +47 -0
- data/tracks/elixir/exercises/luhn/README.md +108 -0
- data/tracks/elixir/exercises/markdown/README.md +55 -0
- data/tracks/elixir/exercises/matrix/README.md +82 -0
- data/tracks/elixir/exercises/meetup/README.md +67 -0
- data/tracks/elixir/exercises/minesweeper/README.md +67 -0
- data/tracks/elixir/exercises/nth-prime/README.md +52 -0
- data/tracks/elixir/exercises/nucleotide-count/README.md +70 -0
- data/tracks/elixir/exercises/ocr-numbers/README.md +122 -0
- data/tracks/elixir/exercises/palindrome-products/README.md +77 -0
- data/tracks/elixir/exercises/pangram/README.md +52 -0
- data/tracks/elixir/exercises/parallel-letter-frequency/README.md +48 -0
- data/tracks/elixir/exercises/pascals-triangle/README.md +58 -0
- data/tracks/elixir/exercises/perfect-numbers/README.md +61 -0
- data/tracks/elixir/exercises/phone-number/README.md +71 -0
- data/tracks/elixir/exercises/pig-latin/README.md +61 -0
- data/tracks/elixir/exercises/poker/README.md +49 -0
- data/tracks/elixir/exercises/prime-factors/README.md +73 -0
- data/tracks/elixir/exercises/protein-translation/README.md +86 -0
- data/tracks/elixir/exercises/pythagorean-triplet/README.md +61 -0
- data/tracks/elixir/exercises/queen-attack/README.md +70 -0
- data/tracks/elixir/exercises/rail-fence-cipher/README.md +97 -0
- data/tracks/elixir/exercises/raindrops/README.md +61 -0
- data/tracks/elixir/exercises/rna-transcription/README.md +62 -0
- data/tracks/elixir/exercises/robot-simulator/README.md +71 -0
- data/tracks/elixir/exercises/roman-numerals/README.md +86 -0
- data/tracks/elixir/exercises/rotational-cipher/README.md +73 -0
- data/tracks/elixir/exercises/run-length-encoding/README.md +67 -0
- data/tracks/elixir/exercises/saddle-points/README.md +70 -0
- data/tracks/elixir/exercises/say/README.md +106 -0
- data/tracks/elixir/exercises/scale-generator/README.md +97 -0
- data/tracks/elixir/exercises/scrabble-score/README.md +81 -0
- data/tracks/elixir/exercises/secret-handshake/README.md +94 -0
- data/tracks/elixir/exercises/series/README.md +64 -0
- data/tracks/elixir/exercises/sieve/README.md +71 -0
- data/tracks/elixir/exercises/simple-cipher/README.md +127 -0
- data/tracks/elixir/exercises/simple-linked-list/README.md +65 -0
- data/tracks/elixir/exercises/space-age/README.md +61 -0
- data/tracks/elixir/exercises/strain/README.md +80 -0
- data/tracks/elixir/exercises/sublist/README.md +58 -0
- data/tracks/elixir/exercises/sum-of-multiples/README.md +55 -0
- data/tracks/elixir/exercises/tournament/README.md +110 -0
- data/tracks/elixir/exercises/triangle/README.md +63 -0
- data/tracks/elixir/exercises/twelve-days/README.md +72 -0
- data/tracks/elixir/exercises/word-count/README.md +56 -0
- data/tracks/elixir/exercises/wordy/README.md +100 -0
- data/tracks/elixir/exercises/zipper/README.md +68 -0
- data/tracks/fsharp/config/exercise_readme.go.tmpl +16 -0
- data/tracks/fsharp/exercises/accumulate/README.md +40 -0
- data/tracks/fsharp/exercises/acronym/README.md +15 -0
- data/tracks/fsharp/exercises/all-your-base/README.md +35 -0
- data/tracks/fsharp/exercises/allergies/README.md +37 -0
- data/tracks/fsharp/exercises/alphametics/README.md +41 -0
- data/tracks/fsharp/exercises/anagram/README.md +13 -0
- data/tracks/fsharp/exercises/atbash-cipher/README.md +34 -0
- data/tracks/fsharp/exercises/bank-account/README.md +30 -0
- data/tracks/fsharp/exercises/beer-song/README.md +331 -0
- data/tracks/fsharp/exercises/binary-search-tree/README.md +60 -0
- data/tracks/fsharp/exercises/binary-search/README.md +41 -0
- data/tracks/fsharp/exercises/bob/README.md +18 -0
- data/tracks/fsharp/exercises/book-store/README.md +74 -0
- data/tracks/fsharp/exercises/bowling/README.md +53 -0
- data/tracks/fsharp/exercises/bracket-push/README.md +10 -0
- data/tracks/fsharp/exercises/change/README.md +23 -0
- data/tracks/fsharp/exercises/circular-buffer/README.md +50 -0
- data/tracks/fsharp/exercises/clock/README.md +13 -0
- data/tracks/fsharp/exercises/connect/README.md +34 -0
- data/tracks/fsharp/exercises/crypto-square/README.md +74 -0
- data/tracks/fsharp/exercises/custom-set/README.md +11 -0
- data/tracks/fsharp/exercises/diamond/README.md +62 -0
- data/tracks/fsharp/exercises/difference-of-squares/README.md +25 -0
- data/tracks/fsharp/exercises/diffie-hellman/README.md +49 -0
- data/tracks/fsharp/exercises/dominoes/README.md +18 -0
- data/tracks/fsharp/exercises/dot-dsl/README.md +28 -0
- data/tracks/fsharp/exercises/error-handling/README.md +13 -0
- data/tracks/fsharp/exercises/etl/README.md +51 -0
- data/tracks/fsharp/exercises/food-chain/README.md +74 -0
- data/tracks/fsharp/exercises/forth/README.md +29 -0
- data/tracks/fsharp/exercises/gigasecond/README.md +15 -0
- data/tracks/fsharp/exercises/go-counting/README.md +37 -0
- data/tracks/fsharp/exercises/grade-school/README.md +47 -0
- data/tracks/fsharp/exercises/grains/README.md +39 -0
- data/tracks/fsharp/exercises/grep/README.md +71 -0
- data/tracks/fsharp/exercises/hamming/README.md +42 -0
- data/tracks/fsharp/exercises/hangman/README.md +21 -0
- data/tracks/fsharp/exercises/hello-world/README.md +21 -0
- data/tracks/fsharp/exercises/house/README.md +117 -0
- data/tracks/fsharp/exercises/isogram/README.md +19 -0
- data/tracks/fsharp/exercises/kindergarten-garden/README.md +66 -0
- data/tracks/fsharp/exercises/largest-series-product/README.md +20 -0
- data/tracks/fsharp/exercises/leap/README.md +33 -0
- data/tracks/fsharp/exercises/ledger/README.md +18 -0
- data/tracks/fsharp/exercises/lens-person/README.md +15 -0
- data/tracks/fsharp/exercises/linked-list/README.md +50 -0
- data/tracks/fsharp/exercises/list-ops/README.md +10 -0
- data/tracks/fsharp/exercises/luhn/README.md +71 -0
- data/tracks/fsharp/exercises/markdown/README.md +18 -0
- data/tracks/fsharp/exercises/matrix/README.md +45 -0
- data/tracks/fsharp/exercises/meetup/README.md +30 -0
- data/tracks/fsharp/exercises/minesweeper/README.md +30 -0
- data/tracks/fsharp/exercises/nth-prime/README.md +21 -0
- data/tracks/fsharp/exercises/nucleotide-count/README.md +33 -0
- data/tracks/fsharp/exercises/ocr-numbers/README.md +85 -0
- data/tracks/fsharp/exercises/palindrome-products/README.md +44 -0
- data/tracks/fsharp/exercises/pangram/README.md +15 -0
- data/tracks/fsharp/exercises/parallel-letter-frequency/README.md +15 -0
- data/tracks/fsharp/exercises/pascals-triangle/README.md +21 -0
- data/tracks/fsharp/exercises/perfect-numbers/README.md +24 -0
- data/tracks/fsharp/exercises/phone-number/README.md +34 -0
- data/tracks/fsharp/exercises/pig-latin/README.md +24 -0
- data/tracks/fsharp/exercises/poker/README.md +15 -0
- data/tracks/fsharp/exercises/pov/README.md +46 -0
- data/tracks/fsharp/exercises/prime-factors/README.md +36 -0
- data/tracks/fsharp/exercises/protein-translation/README.md +49 -0
- data/tracks/fsharp/exercises/proverb/README.md +22 -0
- data/tracks/fsharp/exercises/pythagorean-triplet/README.md +24 -0
- data/tracks/fsharp/exercises/queen-attack/README.md +33 -0
- data/tracks/fsharp/exercises/rail-fence-cipher/README.md +60 -0
- data/tracks/fsharp/exercises/raindrops/README.md +27 -0
- data/tracks/fsharp/exercises/react/README.md +19 -0
- data/tracks/fsharp/exercises/rectangles/README.md +67 -0
- data/tracks/fsharp/exercises/rna-transcription/README.md +29 -0
- data/tracks/fsharp/exercises/robot-name/README.md +22 -0
- data/tracks/fsharp/exercises/robot-simulator/README.md +34 -0
- data/tracks/fsharp/exercises/roman-numerals/README.md +49 -0
- data/tracks/fsharp/exercises/run-length-encoding/README.md +30 -0
- data/tracks/fsharp/exercises/saddle-points/README.md +33 -0
- data/tracks/fsharp/exercises/say/README.md +69 -0
- data/tracks/fsharp/exercises/scale-generator/README.md +60 -0
- data/tracks/fsharp/exercises/scrabble-score/README.md +44 -0
- data/tracks/fsharp/exercises/secret-handshake/README.md +35 -0
- data/tracks/fsharp/exercises/series/README.md +27 -0
- data/tracks/fsharp/exercises/sgf-parsing/README.md +68 -0
- data/tracks/fsharp/exercises/sieve/README.md +34 -0
- data/tracks/fsharp/exercises/simple-cipher/README.md +90 -0
- data/tracks/fsharp/exercises/simple-linked-list/README.md +28 -0
- data/tracks/fsharp/exercises/space-age/README.md +28 -0
- data/tracks/fsharp/exercises/strain/README.md +40 -0
- data/tracks/fsharp/exercises/sublist/README.md +21 -0
- data/tracks/fsharp/exercises/sum-of-multiples/README.md +18 -0
- data/tracks/fsharp/exercises/tournament/README.md +68 -0
- data/tracks/fsharp/exercises/transpose/README.md +65 -0
- data/tracks/fsharp/exercises/tree-building/README.md +30 -0
- data/tracks/fsharp/exercises/triangle/README.md +26 -0
- data/tracks/fsharp/exercises/twelve-days/README.md +39 -0
- data/tracks/fsharp/exercises/two-bucket/README.md +36 -0
- data/tracks/fsharp/exercises/variable-length-quantity/README.md +39 -0
- data/tracks/fsharp/exercises/word-count/README.md +19 -0
- data/tracks/fsharp/exercises/word-search/README.md +30 -0
- data/tracks/fsharp/exercises/wordy/README.md +68 -0
- data/tracks/fsharp/exercises/zebra-puzzle/README.md +32 -0
- data/tracks/fsharp/exercises/zipper/README.md +31 -0
- data/tracks/haskell/README.md +2 -2
- data/tracks/javascript/config.json +232 -4
- data/tracks/kotlin/config.json +8 -1
- data/tracks/kotlin/exercises/rotational-cipher/build.gradle +28 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/example/kotlin/RotationalCipher.kt +18 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/main/kotlin/.keep +0 -0
- data/tracks/kotlin/exercises/rotational-cipher/src/test/kotlin/RotationalCipherTest.kt +81 -0
- data/tracks/kotlin/exercises/settings.gradle +1 -0
- data/tracks/powershell/config/exercise_readme.go.tmpl +16 -0
- data/tracks/powershell/exercises/hamming/README.md +42 -0
- data/tracks/powershell/exercises/hello-world/README.md +21 -0
- data/tracks/purescript/README.md +4 -4
- data/tracks/scala/config.json +266 -6
- data/tracks/scala/config/exercise_readme.go.tmpl +16 -0
- data/tracks/scala/exercises/accumulate/README.md +46 -0
- data/tracks/scala/exercises/acronym/README.md +26 -0
- data/tracks/scala/exercises/all-your-base/README.md +46 -0
- data/tracks/scala/exercises/allergies/README.md +48 -0
- data/tracks/scala/exercises/alphametics/README.md +46 -0
- data/tracks/scala/exercises/anagram/README.md +24 -0
- data/tracks/scala/exercises/atbash-cipher/README.md +45 -0
- data/tracks/scala/exercises/bank-account/README.md +54 -0
- data/tracks/scala/exercises/beer-song/README.md +338 -0
- data/tracks/scala/exercises/binary-search-tree/README.md +71 -0
- data/tracks/scala/exercises/binary-search/README.md +52 -0
- data/tracks/scala/exercises/binary/README.md +46 -0
- data/tracks/scala/exercises/bob/README.md +29 -0
- data/tracks/scala/exercises/book-store/README.md +85 -0
- data/tracks/scala/exercises/bowling/README.md +64 -0
- data/tracks/scala/exercises/bracket-push/README.md +21 -0
- data/tracks/scala/exercises/change/README.md +34 -0
- data/tracks/scala/exercises/clock/README.md +24 -0
- data/tracks/scala/exercises/connect/README.md +53 -0
- data/tracks/scala/exercises/crypto-square/README.md +85 -0
- data/tracks/scala/exercises/custom-set/README.md +22 -0
- data/tracks/scala/exercises/difference-of-squares/README.md +30 -0
- data/tracks/scala/exercises/dominoes/README.md +29 -0
- data/tracks/scala/exercises/etl/README.md +62 -0
- data/tracks/scala/exercises/food-chain/README.md +81 -0
- data/tracks/scala/exercises/forth/README.md +40 -0
- data/tracks/scala/exercises/gigasecond/README.md +26 -0
- data/tracks/scala/exercises/grade-school/README.md +53 -0
- data/tracks/scala/exercises/grains/README.md +45 -0
- data/tracks/scala/exercises/hamming/README.md +112 -0
- data/tracks/scala/exercises/hello-world/README.md +38 -0
- data/tracks/scala/exercises/hexadecimal/README.md +25 -0
- data/tracks/scala/exercises/house/README.md +124 -0
- data/tracks/scala/exercises/isogram/README.md +30 -0
- data/tracks/scala/exercises/kindergarten-garden/README.md +77 -0
- data/tracks/scala/exercises/largest-series-product/README.md +31 -0
- data/tracks/scala/exercises/leap/README.md +50 -0
- data/tracks/scala/exercises/lens-person/README.md +11 -7
- data/tracks/scala/exercises/linked-list/README.md +45 -0
- data/tracks/scala/exercises/luhn/README.md +82 -0
- data/tracks/scala/exercises/matrix/README.md +56 -0
- data/tracks/scala/exercises/meetup/README.md +41 -0
- data/tracks/scala/exercises/minesweeper/README.md +41 -0
- data/tracks/scala/exercises/nth-prime/README.md +26 -0
- data/tracks/scala/exercises/nucleotide-count/README.md +107 -0
- data/tracks/scala/exercises/ocr-numbers/README.md +96 -0
- data/tracks/scala/exercises/octal/README.md +60 -0
- data/tracks/scala/exercises/palindrome-products/README.md +51 -0
- data/tracks/scala/exercises/pangram/README.md +26 -0
- data/tracks/scala/exercises/parallel-letter-frequency/README.md +50 -0
- data/tracks/scala/exercises/pascals-triangle/README.md +32 -0
- data/tracks/scala/exercises/perfect-numbers/README.md +35 -0
- data/tracks/scala/exercises/phone-number/README.md +56 -0
- data/tracks/scala/exercises/pig-latin/README.md +35 -0
- data/tracks/scala/exercises/prime-factors/README.md +47 -0
- data/tracks/scala/exercises/protein-translation/README.md +60 -0
- data/tracks/scala/exercises/pythagorean-triplet/README.md +35 -0
- data/tracks/scala/exercises/queen-attack/README.md +44 -0
- data/tracks/scala/exercises/rail-fence-cipher/README.md +71 -0
- data/tracks/scala/exercises/raindrops/README.md +35 -0
- data/tracks/scala/exercises/rna-transcription/README.md +36 -0
- data/tracks/scala/exercises/robot-name/README.md +40 -0
- data/tracks/scala/exercises/robot-simulator/README.md +45 -0
- data/tracks/scala/exercises/roman-numerals/README.md +72 -0
- data/tracks/scala/exercises/run-length-encoding/README.md +41 -0
- data/tracks/scala/exercises/saddle-points/README.md +44 -0
- data/tracks/scala/exercises/say/README.md +80 -0
- data/tracks/scala/exercises/scrabble-score/README.md +55 -0
- data/tracks/scala/exercises/secret-handshake/README.md +46 -0
- data/tracks/scala/exercises/series/README.md +38 -0
- data/tracks/scala/exercises/sgf-parsing/README.md +79 -0
- data/tracks/scala/exercises/sieve/README.md +45 -0
- data/tracks/scala/exercises/simple-cipher/README.md +101 -0
- data/tracks/scala/exercises/simple-linked-list/README.md +39 -0
- data/tracks/scala/exercises/space-age/README.md +35 -0
- data/tracks/scala/exercises/spiral-matrix/README.md +41 -0
- data/tracks/scala/exercises/strain/README.md +51 -0
- data/tracks/scala/exercises/sublist/README.md +32 -0
- data/tracks/scala/exercises/sum-of-multiples/README.md +29 -0
- data/tracks/scala/exercises/triangle/README.md +37 -0
- data/tracks/scala/exercises/trinary/README.md +39 -0
- data/tracks/scala/exercises/variable-length-quantity/README.md +54 -0
- data/tracks/scala/exercises/word-count/README.md +30 -0
- data/tracks/scala/exercises/wordy/README.md +74 -0
- data/tracks/scala/exercises/zebra-puzzle/README.md +43 -0
- data/tracks/scala/exercises/zipper/README.md +42 -0
- metadata +401 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: adc92aa5cad4bedd93cad857419fed2eb6e1f3f0
|
4
|
+
data.tar.gz: a4ad2f6bd8c0ce9a13afeed31ab6b75555933ca0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bfcfd2fd79aef1247b4bc04f4fcac62d58615fed72a1508912be23ca4ce190af4d2f930bf15c0ebe044ac4c91abe39b90bd00d12724d17c890c62fdedce219c8
|
7
|
+
data.tar.gz: ebda5f120eafaec5fc2a6d46af23100d789da10c3c3586e94d8de69763c30aa76bcbb3e0caa3524459aab50adbf68f8b15168a7b00053a6abe7408985708e83d
|
data/lib/trackler/track.rb
CHANGED
data/lib/trackler/version.rb
CHANGED
@@ -0,0 +1,16 @@
|
|
1
|
+
# {{ .Spec.Name }}
|
2
|
+
|
3
|
+
{{ .Spec.Description -}}
|
4
|
+
{{- with .Hints }}
|
5
|
+
{{ . }}
|
6
|
+
{{ end }}
|
7
|
+
{{- with .TrackInsert }}
|
8
|
+
{{ . }}
|
9
|
+
{{ end }}
|
10
|
+
{{- with .Spec.Credits -}}
|
11
|
+
## Source
|
12
|
+
|
13
|
+
{{ . }}
|
14
|
+
{{ end }}
|
15
|
+
## Submitting Incomplete Solutions
|
16
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,44 @@
|
|
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
|
+
## Hints
|
32
|
+
This exercise requires you to write an extension method. For more information, see [this page](https://msdn.microsoft.com/en-us//library/bb383977.aspx).
|
33
|
+
|
34
|
+
### Submitting Exercises
|
35
|
+
|
36
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
37
|
+
|
38
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
39
|
+
## Source
|
40
|
+
|
41
|
+
Conversation with James Edward Gray II [https://twitter.com/jeg2](https://twitter.com/jeg2)
|
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,21 @@
|
|
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
|
+
### Submitting Exercises
|
12
|
+
|
13
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
14
|
+
|
15
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
16
|
+
## Source
|
17
|
+
|
18
|
+
Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
|
19
|
+
|
20
|
+
## Submitting Incomplete Solutions
|
21
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# All Your Base
|
2
|
+
|
3
|
+
Convert a number, represented as a sequence of digits in one base, to any other base.
|
4
|
+
|
5
|
+
Implement general base conversion. Given a number in base **a**,
|
6
|
+
represented as a sequence of digits, convert it to base **b**.
|
7
|
+
|
8
|
+
## Note
|
9
|
+
- Try to implement the conversion yourself.
|
10
|
+
Do not use something else to perform the conversion for you.
|
11
|
+
|
12
|
+
## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
|
13
|
+
|
14
|
+
In positional notation, a number in base **b** can be understood as a linear
|
15
|
+
combination of powers of **b**.
|
16
|
+
|
17
|
+
The number 42, *in base 10*, means:
|
18
|
+
|
19
|
+
(4 * 10^1) + (2 * 10^0)
|
20
|
+
|
21
|
+
The number 101010, *in base 2*, means:
|
22
|
+
|
23
|
+
(1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
|
24
|
+
|
25
|
+
The number 1120, *in base 3*, means:
|
26
|
+
|
27
|
+
(1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
|
28
|
+
|
29
|
+
I think you got the idea!
|
30
|
+
|
31
|
+
|
32
|
+
*Yes. Those three numbers above are exactly the same. Congratulations!*
|
33
|
+
|
34
|
+
### Submitting Exercises
|
35
|
+
|
36
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
37
|
+
|
38
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
39
|
+
|
40
|
+
## Submitting Incomplete Solutions
|
41
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,46 @@
|
|
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
|
+
## Hints
|
34
|
+
This exercise requires you to use bitwise operations. For more information, see [this page](https://msdn.microsoft.com/en-us/library/6a71f45d.aspx).
|
35
|
+
|
36
|
+
### Submitting Exercises
|
37
|
+
|
38
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
39
|
+
|
40
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
41
|
+
## Source
|
42
|
+
|
43
|
+
Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
|
44
|
+
|
45
|
+
## Submitting Incomplete Solutions
|
46
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Alphametics
|
2
|
+
|
3
|
+
Write a function to solve alphametics puzzles.
|
4
|
+
|
5
|
+
[Alphametics](https://en.wikipedia.org/wiki/Alphametics) is a puzzle where
|
6
|
+
letters in words are replaced with numbers.
|
7
|
+
|
8
|
+
For example `SEND + MORE = MONEY`:
|
9
|
+
|
10
|
+
```
|
11
|
+
S E N D
|
12
|
+
M O R E +
|
13
|
+
-----------
|
14
|
+
M O N E Y
|
15
|
+
```
|
16
|
+
|
17
|
+
Replacing these with valid numbers gives:
|
18
|
+
|
19
|
+
```
|
20
|
+
9 5 6 7
|
21
|
+
1 0 8 5 +
|
22
|
+
-----------
|
23
|
+
1 0 6 5 2
|
24
|
+
```
|
25
|
+
|
26
|
+
This is correct because every letter is replaced by a different number and the
|
27
|
+
words, translated into numbers, then make a valid sum.
|
28
|
+
|
29
|
+
Each letter must represent a different digit, and the leading digit of
|
30
|
+
a multi-digit number must not be zero.
|
31
|
+
|
32
|
+
Write a function to solve alphametics puzzles.
|
33
|
+
|
34
|
+
## Hints
|
35
|
+
- To parse the text, you could try to use the [Sprache](https://github.com/sprache/Sprache/blob/develop/README.md) library. You can also find a good tutorial [here](https://www.thomaslevesque.com/2017/02/23/easy-text-parsing-in-c-with-sprache/).
|
36
|
+
- You can solve this exercise with a brute force algorithm, but this will possibly have a poor runtime performance.
|
37
|
+
Try to find a more sophisticated solution.
|
38
|
+
- Hint: You could try the column-wise addition algorithm that is usually taught in school.
|
39
|
+
|
40
|
+
|
41
|
+
### Submitting Exercises
|
42
|
+
|
43
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
44
|
+
|
45
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
46
|
+
|
47
|
+
## Submitting Incomplete Solutions
|
48
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,19 @@
|
|
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
|
+
### Submitting Exercises
|
10
|
+
|
11
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
12
|
+
|
13
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
14
|
+
## Source
|
15
|
+
|
16
|
+
Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
|
17
|
+
|
18
|
+
## Submitting Incomplete Solutions
|
19
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Atbash Cipher
|
2
|
+
|
3
|
+
Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
|
4
|
+
|
5
|
+
The Atbash cipher is a simple substitution cipher that relies on
|
6
|
+
transposing all the letters in the alphabet such that the resulting
|
7
|
+
alphabet is backwards. The first letter is replaced with the last
|
8
|
+
letter, the second with the second-last, and so on.
|
9
|
+
|
10
|
+
An Atbash cipher for the Latin alphabet would be as follows:
|
11
|
+
|
12
|
+
```plain
|
13
|
+
Plain: abcdefghijklmnopqrstuvwxyz
|
14
|
+
Cipher: zyxwvutsrqponmlkjihgfedcba
|
15
|
+
```
|
16
|
+
|
17
|
+
It is a very weak cipher because it only has one possible key, and it is
|
18
|
+
a simple monoalphabetic substitution cipher. However, this may not have
|
19
|
+
been an issue in the cipher's time.
|
20
|
+
|
21
|
+
Ciphertext is written out in groups of fixed length, the traditional group size
|
22
|
+
being 5 letters, and punctuation is excluded. This is to make it harder to guess
|
23
|
+
things based on word boundaries.
|
24
|
+
|
25
|
+
## Examples
|
26
|
+
- Encoding `test` gives `gvhg`
|
27
|
+
- Decoding `gvhg` gives `test`
|
28
|
+
- Decoding `gsvjf rxpyi ldmul cqfnk hlevi gsvoz abwlt` gives `thequickbrownfoxjumpsoverthelazydog`
|
29
|
+
|
30
|
+
### Submitting Exercises
|
31
|
+
|
32
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
33
|
+
|
34
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
35
|
+
## Source
|
36
|
+
|
37
|
+
Wikipedia [http://en.wikipedia.org/wiki/Atbash](http://en.wikipedia.org/wiki/Atbash)
|
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,41 @@
|
|
1
|
+
# Bank Account
|
2
|
+
|
3
|
+
Simulate a bank account supporting opening/closing, withdrawals, and deposits
|
4
|
+
of money. Watch out for concurrent transactions!
|
5
|
+
|
6
|
+
A bank account can be accessed in multiple ways. Clients can make
|
7
|
+
deposits and withdrawals using the internet, mobile phones, etc. Shops
|
8
|
+
can charge against the account.
|
9
|
+
|
10
|
+
Create an account that can be accessed from multiple threads/processes
|
11
|
+
(terminology depends on your programming language).
|
12
|
+
|
13
|
+
It should be possible to close an account; operations against a closed
|
14
|
+
account must fail.
|
15
|
+
|
16
|
+
## Instructions
|
17
|
+
|
18
|
+
Run the test file, and fix each of the errors in turn. When you get the
|
19
|
+
first test to pass, go to the first pending or skipped test, and make
|
20
|
+
that pass as well. When all of the tests are passing, feel free to
|
21
|
+
submit.
|
22
|
+
|
23
|
+
Remember that passing code is just the first step. The goal is to work
|
24
|
+
towards a solution that is as readable and expressive as you can make
|
25
|
+
it.
|
26
|
+
|
27
|
+
Have fun!
|
28
|
+
|
29
|
+
## Hints
|
30
|
+
This exercise requires you to handle data related to currency and money. A normal approuch is to use the [Decimal](https://msdn.microsoft.com/en-US/library/system.decimal.aspx) struct to store currency values.
|
31
|
+
Note though that you then only store the numeric value of a currency.
|
32
|
+
|
33
|
+
|
34
|
+
### Submitting Exercises
|
35
|
+
|
36
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
37
|
+
|
38
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
39
|
+
|
40
|
+
## Submitting Incomplete Solutions
|
41
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|
@@ -0,0 +1,336 @@
|
|
1
|
+
# Beer Song
|
2
|
+
|
3
|
+
Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
|
4
|
+
|
5
|
+
Note that not all verses are identical.
|
6
|
+
|
7
|
+
```plain
|
8
|
+
99 bottles of beer on the wall, 99 bottles of beer.
|
9
|
+
Take one down and pass it around, 98 bottles of beer on the wall.
|
10
|
+
|
11
|
+
98 bottles of beer on the wall, 98 bottles of beer.
|
12
|
+
Take one down and pass it around, 97 bottles of beer on the wall.
|
13
|
+
|
14
|
+
97 bottles of beer on the wall, 97 bottles of beer.
|
15
|
+
Take one down and pass it around, 96 bottles of beer on the wall.
|
16
|
+
|
17
|
+
96 bottles of beer on the wall, 96 bottles of beer.
|
18
|
+
Take one down and pass it around, 95 bottles of beer on the wall.
|
19
|
+
|
20
|
+
95 bottles of beer on the wall, 95 bottles of beer.
|
21
|
+
Take one down and pass it around, 94 bottles of beer on the wall.
|
22
|
+
|
23
|
+
94 bottles of beer on the wall, 94 bottles of beer.
|
24
|
+
Take one down and pass it around, 93 bottles of beer on the wall.
|
25
|
+
|
26
|
+
93 bottles of beer on the wall, 93 bottles of beer.
|
27
|
+
Take one down and pass it around, 92 bottles of beer on the wall.
|
28
|
+
|
29
|
+
92 bottles of beer on the wall, 92 bottles of beer.
|
30
|
+
Take one down and pass it around, 91 bottles of beer on the wall.
|
31
|
+
|
32
|
+
91 bottles of beer on the wall, 91 bottles of beer.
|
33
|
+
Take one down and pass it around, 90 bottles of beer on the wall.
|
34
|
+
|
35
|
+
90 bottles of beer on the wall, 90 bottles of beer.
|
36
|
+
Take one down and pass it around, 89 bottles of beer on the wall.
|
37
|
+
|
38
|
+
89 bottles of beer on the wall, 89 bottles of beer.
|
39
|
+
Take one down and pass it around, 88 bottles of beer on the wall.
|
40
|
+
|
41
|
+
88 bottles of beer on the wall, 88 bottles of beer.
|
42
|
+
Take one down and pass it around, 87 bottles of beer on the wall.
|
43
|
+
|
44
|
+
87 bottles of beer on the wall, 87 bottles of beer.
|
45
|
+
Take one down and pass it around, 86 bottles of beer on the wall.
|
46
|
+
|
47
|
+
86 bottles of beer on the wall, 86 bottles of beer.
|
48
|
+
Take one down and pass it around, 85 bottles of beer on the wall.
|
49
|
+
|
50
|
+
85 bottles of beer on the wall, 85 bottles of beer.
|
51
|
+
Take one down and pass it around, 84 bottles of beer on the wall.
|
52
|
+
|
53
|
+
84 bottles of beer on the wall, 84 bottles of beer.
|
54
|
+
Take one down and pass it around, 83 bottles of beer on the wall.
|
55
|
+
|
56
|
+
83 bottles of beer on the wall, 83 bottles of beer.
|
57
|
+
Take one down and pass it around, 82 bottles of beer on the wall.
|
58
|
+
|
59
|
+
82 bottles of beer on the wall, 82 bottles of beer.
|
60
|
+
Take one down and pass it around, 81 bottles of beer on the wall.
|
61
|
+
|
62
|
+
81 bottles of beer on the wall, 81 bottles of beer.
|
63
|
+
Take one down and pass it around, 80 bottles of beer on the wall.
|
64
|
+
|
65
|
+
80 bottles of beer on the wall, 80 bottles of beer.
|
66
|
+
Take one down and pass it around, 79 bottles of beer on the wall.
|
67
|
+
|
68
|
+
79 bottles of beer on the wall, 79 bottles of beer.
|
69
|
+
Take one down and pass it around, 78 bottles of beer on the wall.
|
70
|
+
|
71
|
+
78 bottles of beer on the wall, 78 bottles of beer.
|
72
|
+
Take one down and pass it around, 77 bottles of beer on the wall.
|
73
|
+
|
74
|
+
77 bottles of beer on the wall, 77 bottles of beer.
|
75
|
+
Take one down and pass it around, 76 bottles of beer on the wall.
|
76
|
+
|
77
|
+
76 bottles of beer on the wall, 76 bottles of beer.
|
78
|
+
Take one down and pass it around, 75 bottles of beer on the wall.
|
79
|
+
|
80
|
+
75 bottles of beer on the wall, 75 bottles of beer.
|
81
|
+
Take one down and pass it around, 74 bottles of beer on the wall.
|
82
|
+
|
83
|
+
74 bottles of beer on the wall, 74 bottles of beer.
|
84
|
+
Take one down and pass it around, 73 bottles of beer on the wall.
|
85
|
+
|
86
|
+
73 bottles of beer on the wall, 73 bottles of beer.
|
87
|
+
Take one down and pass it around, 72 bottles of beer on the wall.
|
88
|
+
|
89
|
+
72 bottles of beer on the wall, 72 bottles of beer.
|
90
|
+
Take one down and pass it around, 71 bottles of beer on the wall.
|
91
|
+
|
92
|
+
71 bottles of beer on the wall, 71 bottles of beer.
|
93
|
+
Take one down and pass it around, 70 bottles of beer on the wall.
|
94
|
+
|
95
|
+
70 bottles of beer on the wall, 70 bottles of beer.
|
96
|
+
Take one down and pass it around, 69 bottles of beer on the wall.
|
97
|
+
|
98
|
+
69 bottles of beer on the wall, 69 bottles of beer.
|
99
|
+
Take one down and pass it around, 68 bottles of beer on the wall.
|
100
|
+
|
101
|
+
68 bottles of beer on the wall, 68 bottles of beer.
|
102
|
+
Take one down and pass it around, 67 bottles of beer on the wall.
|
103
|
+
|
104
|
+
67 bottles of beer on the wall, 67 bottles of beer.
|
105
|
+
Take one down and pass it around, 66 bottles of beer on the wall.
|
106
|
+
|
107
|
+
66 bottles of beer on the wall, 66 bottles of beer.
|
108
|
+
Take one down and pass it around, 65 bottles of beer on the wall.
|
109
|
+
|
110
|
+
65 bottles of beer on the wall, 65 bottles of beer.
|
111
|
+
Take one down and pass it around, 64 bottles of beer on the wall.
|
112
|
+
|
113
|
+
64 bottles of beer on the wall, 64 bottles of beer.
|
114
|
+
Take one down and pass it around, 63 bottles of beer on the wall.
|
115
|
+
|
116
|
+
63 bottles of beer on the wall, 63 bottles of beer.
|
117
|
+
Take one down and pass it around, 62 bottles of beer on the wall.
|
118
|
+
|
119
|
+
62 bottles of beer on the wall, 62 bottles of beer.
|
120
|
+
Take one down and pass it around, 61 bottles of beer on the wall.
|
121
|
+
|
122
|
+
61 bottles of beer on the wall, 61 bottles of beer.
|
123
|
+
Take one down and pass it around, 60 bottles of beer on the wall.
|
124
|
+
|
125
|
+
60 bottles of beer on the wall, 60 bottles of beer.
|
126
|
+
Take one down and pass it around, 59 bottles of beer on the wall.
|
127
|
+
|
128
|
+
59 bottles of beer on the wall, 59 bottles of beer.
|
129
|
+
Take one down and pass it around, 58 bottles of beer on the wall.
|
130
|
+
|
131
|
+
58 bottles of beer on the wall, 58 bottles of beer.
|
132
|
+
Take one down and pass it around, 57 bottles of beer on the wall.
|
133
|
+
|
134
|
+
57 bottles of beer on the wall, 57 bottles of beer.
|
135
|
+
Take one down and pass it around, 56 bottles of beer on the wall.
|
136
|
+
|
137
|
+
56 bottles of beer on the wall, 56 bottles of beer.
|
138
|
+
Take one down and pass it around, 55 bottles of beer on the wall.
|
139
|
+
|
140
|
+
55 bottles of beer on the wall, 55 bottles of beer.
|
141
|
+
Take one down and pass it around, 54 bottles of beer on the wall.
|
142
|
+
|
143
|
+
54 bottles of beer on the wall, 54 bottles of beer.
|
144
|
+
Take one down and pass it around, 53 bottles of beer on the wall.
|
145
|
+
|
146
|
+
53 bottles of beer on the wall, 53 bottles of beer.
|
147
|
+
Take one down and pass it around, 52 bottles of beer on the wall.
|
148
|
+
|
149
|
+
52 bottles of beer on the wall, 52 bottles of beer.
|
150
|
+
Take one down and pass it around, 51 bottles of beer on the wall.
|
151
|
+
|
152
|
+
51 bottles of beer on the wall, 51 bottles of beer.
|
153
|
+
Take one down and pass it around, 50 bottles of beer on the wall.
|
154
|
+
|
155
|
+
50 bottles of beer on the wall, 50 bottles of beer.
|
156
|
+
Take one down and pass it around, 49 bottles of beer on the wall.
|
157
|
+
|
158
|
+
49 bottles of beer on the wall, 49 bottles of beer.
|
159
|
+
Take one down and pass it around, 48 bottles of beer on the wall.
|
160
|
+
|
161
|
+
48 bottles of beer on the wall, 48 bottles of beer.
|
162
|
+
Take one down and pass it around, 47 bottles of beer on the wall.
|
163
|
+
|
164
|
+
47 bottles of beer on the wall, 47 bottles of beer.
|
165
|
+
Take one down and pass it around, 46 bottles of beer on the wall.
|
166
|
+
|
167
|
+
46 bottles of beer on the wall, 46 bottles of beer.
|
168
|
+
Take one down and pass it around, 45 bottles of beer on the wall.
|
169
|
+
|
170
|
+
45 bottles of beer on the wall, 45 bottles of beer.
|
171
|
+
Take one down and pass it around, 44 bottles of beer on the wall.
|
172
|
+
|
173
|
+
44 bottles of beer on the wall, 44 bottles of beer.
|
174
|
+
Take one down and pass it around, 43 bottles of beer on the wall.
|
175
|
+
|
176
|
+
43 bottles of beer on the wall, 43 bottles of beer.
|
177
|
+
Take one down and pass it around, 42 bottles of beer on the wall.
|
178
|
+
|
179
|
+
42 bottles of beer on the wall, 42 bottles of beer.
|
180
|
+
Take one down and pass it around, 41 bottles of beer on the wall.
|
181
|
+
|
182
|
+
41 bottles of beer on the wall, 41 bottles of beer.
|
183
|
+
Take one down and pass it around, 40 bottles of beer on the wall.
|
184
|
+
|
185
|
+
40 bottles of beer on the wall, 40 bottles of beer.
|
186
|
+
Take one down and pass it around, 39 bottles of beer on the wall.
|
187
|
+
|
188
|
+
39 bottles of beer on the wall, 39 bottles of beer.
|
189
|
+
Take one down and pass it around, 38 bottles of beer on the wall.
|
190
|
+
|
191
|
+
38 bottles of beer on the wall, 38 bottles of beer.
|
192
|
+
Take one down and pass it around, 37 bottles of beer on the wall.
|
193
|
+
|
194
|
+
37 bottles of beer on the wall, 37 bottles of beer.
|
195
|
+
Take one down and pass it around, 36 bottles of beer on the wall.
|
196
|
+
|
197
|
+
36 bottles of beer on the wall, 36 bottles of beer.
|
198
|
+
Take one down and pass it around, 35 bottles of beer on the wall.
|
199
|
+
|
200
|
+
35 bottles of beer on the wall, 35 bottles of beer.
|
201
|
+
Take one down and pass it around, 34 bottles of beer on the wall.
|
202
|
+
|
203
|
+
34 bottles of beer on the wall, 34 bottles of beer.
|
204
|
+
Take one down and pass it around, 33 bottles of beer on the wall.
|
205
|
+
|
206
|
+
33 bottles of beer on the wall, 33 bottles of beer.
|
207
|
+
Take one down and pass it around, 32 bottles of beer on the wall.
|
208
|
+
|
209
|
+
32 bottles of beer on the wall, 32 bottles of beer.
|
210
|
+
Take one down and pass it around, 31 bottles of beer on the wall.
|
211
|
+
|
212
|
+
31 bottles of beer on the wall, 31 bottles of beer.
|
213
|
+
Take one down and pass it around, 30 bottles of beer on the wall.
|
214
|
+
|
215
|
+
30 bottles of beer on the wall, 30 bottles of beer.
|
216
|
+
Take one down and pass it around, 29 bottles of beer on the wall.
|
217
|
+
|
218
|
+
29 bottles of beer on the wall, 29 bottles of beer.
|
219
|
+
Take one down and pass it around, 28 bottles of beer on the wall.
|
220
|
+
|
221
|
+
28 bottles of beer on the wall, 28 bottles of beer.
|
222
|
+
Take one down and pass it around, 27 bottles of beer on the wall.
|
223
|
+
|
224
|
+
27 bottles of beer on the wall, 27 bottles of beer.
|
225
|
+
Take one down and pass it around, 26 bottles of beer on the wall.
|
226
|
+
|
227
|
+
26 bottles of beer on the wall, 26 bottles of beer.
|
228
|
+
Take one down and pass it around, 25 bottles of beer on the wall.
|
229
|
+
|
230
|
+
25 bottles of beer on the wall, 25 bottles of beer.
|
231
|
+
Take one down and pass it around, 24 bottles of beer on the wall.
|
232
|
+
|
233
|
+
24 bottles of beer on the wall, 24 bottles of beer.
|
234
|
+
Take one down and pass it around, 23 bottles of beer on the wall.
|
235
|
+
|
236
|
+
23 bottles of beer on the wall, 23 bottles of beer.
|
237
|
+
Take one down and pass it around, 22 bottles of beer on the wall.
|
238
|
+
|
239
|
+
22 bottles of beer on the wall, 22 bottles of beer.
|
240
|
+
Take one down and pass it around, 21 bottles of beer on the wall.
|
241
|
+
|
242
|
+
21 bottles of beer on the wall, 21 bottles of beer.
|
243
|
+
Take one down and pass it around, 20 bottles of beer on the wall.
|
244
|
+
|
245
|
+
20 bottles of beer on the wall, 20 bottles of beer.
|
246
|
+
Take one down and pass it around, 19 bottles of beer on the wall.
|
247
|
+
|
248
|
+
19 bottles of beer on the wall, 19 bottles of beer.
|
249
|
+
Take one down and pass it around, 18 bottles of beer on the wall.
|
250
|
+
|
251
|
+
18 bottles of beer on the wall, 18 bottles of beer.
|
252
|
+
Take one down and pass it around, 17 bottles of beer on the wall.
|
253
|
+
|
254
|
+
17 bottles of beer on the wall, 17 bottles of beer.
|
255
|
+
Take one down and pass it around, 16 bottles of beer on the wall.
|
256
|
+
|
257
|
+
16 bottles of beer on the wall, 16 bottles of beer.
|
258
|
+
Take one down and pass it around, 15 bottles of beer on the wall.
|
259
|
+
|
260
|
+
15 bottles of beer on the wall, 15 bottles of beer.
|
261
|
+
Take one down and pass it around, 14 bottles of beer on the wall.
|
262
|
+
|
263
|
+
14 bottles of beer on the wall, 14 bottles of beer.
|
264
|
+
Take one down and pass it around, 13 bottles of beer on the wall.
|
265
|
+
|
266
|
+
13 bottles of beer on the wall, 13 bottles of beer.
|
267
|
+
Take one down and pass it around, 12 bottles of beer on the wall.
|
268
|
+
|
269
|
+
12 bottles of beer on the wall, 12 bottles of beer.
|
270
|
+
Take one down and pass it around, 11 bottles of beer on the wall.
|
271
|
+
|
272
|
+
11 bottles of beer on the wall, 11 bottles of beer.
|
273
|
+
Take one down and pass it around, 10 bottles of beer on the wall.
|
274
|
+
|
275
|
+
10 bottles of beer on the wall, 10 bottles of beer.
|
276
|
+
Take one down and pass it around, 9 bottles of beer on the wall.
|
277
|
+
|
278
|
+
9 bottles of beer on the wall, 9 bottles of beer.
|
279
|
+
Take one down and pass it around, 8 bottles of beer on the wall.
|
280
|
+
|
281
|
+
8 bottles of beer on the wall, 8 bottles of beer.
|
282
|
+
Take one down and pass it around, 7 bottles of beer on the wall.
|
283
|
+
|
284
|
+
7 bottles of beer on the wall, 7 bottles of beer.
|
285
|
+
Take one down and pass it around, 6 bottles of beer on the wall.
|
286
|
+
|
287
|
+
6 bottles of beer on the wall, 6 bottles of beer.
|
288
|
+
Take one down and pass it around, 5 bottles of beer on the wall.
|
289
|
+
|
290
|
+
5 bottles of beer on the wall, 5 bottles of beer.
|
291
|
+
Take one down and pass it around, 4 bottles of beer on the wall.
|
292
|
+
|
293
|
+
4 bottles of beer on the wall, 4 bottles of beer.
|
294
|
+
Take one down and pass it around, 3 bottles of beer on the wall.
|
295
|
+
|
296
|
+
3 bottles of beer on the wall, 3 bottles of beer.
|
297
|
+
Take one down and pass it around, 2 bottles of beer on the wall.
|
298
|
+
|
299
|
+
2 bottles of beer on the wall, 2 bottles of beer.
|
300
|
+
Take one down and pass it around, 1 bottle of beer on the wall.
|
301
|
+
|
302
|
+
1 bottle of beer on the wall, 1 bottle of beer.
|
303
|
+
Take it down and pass it around, no more bottles of beer on the wall.
|
304
|
+
|
305
|
+
No more bottles of beer on the wall, no more bottles of beer.
|
306
|
+
Go to the store and buy some more, 99 bottles of beer on the wall.
|
307
|
+
```
|
308
|
+
|
309
|
+
## For bonus points
|
310
|
+
|
311
|
+
Did you get the tests passing and the code clean? If you want to, these
|
312
|
+
are some additional things you could try:
|
313
|
+
|
314
|
+
* Remove as much duplication as you possibly can.
|
315
|
+
* Optimize for readability, even if it means introducing duplication.
|
316
|
+
* If you've removed all the duplication, do you have a lot of
|
317
|
+
conditionals? Try replacing the conditionals with polymorphism, if it
|
318
|
+
applies in this language. How readable is it?
|
319
|
+
|
320
|
+
Then please share your thoughts in a comment on the submission. Did this
|
321
|
+
experiment make the code better? Worse? Did you learn anything from it?
|
322
|
+
|
323
|
+
## Hints
|
324
|
+
- Try to capture the structure of the song in your code, where you build up the song by composing its parts.
|
325
|
+
|
326
|
+
### Submitting Exercises
|
327
|
+
|
328
|
+
Note that, when trying to submit an exercise, make sure you're exercise file you're submitting is in the `exercism/csharp/<exerciseName>` directory.
|
329
|
+
|
330
|
+
For example, if you're submitting `bob.cs` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/csharp/bob/bob.cs`.
|
331
|
+
## Source
|
332
|
+
|
333
|
+
Learn to Program by Chris Pine [http://pine.fm/LearnToProgram/?Chapter=06](http://pine.fm/LearnToProgram/?Chapter=06)
|
334
|
+
|
335
|
+
## Submitting Incomplete Solutions
|
336
|
+
It's possible to submit an incomplete solution so you can see how others have completed the exercise.
|