trackler 2.2.1.99 → 2.2.1.100
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/trackler/version.rb +1 -1
- data/problem-specifications/exercises/clock/canonical-data.json +303 -204
- data/problem-specifications/exercises/complex-numbers/canonical-data.json +104 -44
- data/problem-specifications/exercises/matrix/canonical-data.json +78 -0
- data/problem-specifications/exercises/word-count/canonical-data.json +12 -12
- data/tracks/bash/config.json +128 -110
- data/tracks/c/exercises/word-count/test/test_word_count.c +2 -2
- data/tracks/dart/CONTRIBUTING.md +2 -2
- data/tracks/dart/docs/EXERCISE_README_INSERT.md +0 -1
- data/tracks/dart/docs/INSTALLATION.md +17 -11
- data/tracks/fsharp/exercises/acronym/AcronymTest.fs +3 -7
- data/tracks/fsharp/exercises/anagram/AnagramTest.fs +1 -21
- data/tracks/fsharp/exercises/book-store/BookStoreTest.fs +1 -1
- data/tracks/fsharp/exercises/complex-numbers/ComplexNumbersTest.fs +25 -25
- data/tracks/fsharp/exercises/custom-set/CustomSetTest.fs +1 -1
- data/tracks/fsharp/exercises/food-chain/FoodChainTest.fs +1 -1
- data/tracks/fsharp/exercises/gigasecond/GigasecondTest.fs +1 -1
- data/tracks/fsharp/exercises/hamming/HammingTest.fs +1 -1
- data/tracks/fsharp/exercises/hello-world/HelloWorldTest.fs +1 -1
- data/tracks/fsharp/exercises/largest-series-product/LargestSeriesProductTest.fs +1 -1
- data/tracks/fsharp/exercises/leap/LeapTest.fs +1 -1
- data/tracks/fsharp/exercises/markdown/MarkdownTest.fs +19 -19
- data/tracks/fsharp/exercises/minesweeper/MinesweeperTest.fs +27 -27
- data/tracks/fsharp/exercises/nth-prime/NthPrimeTest.fs +1 -1
- data/tracks/fsharp/exercises/nucleotide-count/NucleotideCountTest.fs +1 -1
- data/tracks/fsharp/exercises/pangram/PangramTest.fs +1 -1
- data/tracks/fsharp/exercises/pascals-triangle/PascalsTriangleTest.fs +1 -1
- data/tracks/fsharp/exercises/perfect-numbers/PerfectNumbersTest.fs +1 -1
- data/tracks/fsharp/exercises/phone-number/PhoneNumberTest.fs +11 -3
- data/tracks/fsharp/exercises/pig-latin/PigLatinTest.fs +1 -1
- data/tracks/fsharp/exercises/protein-translation/Example.fs +2 -2
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslation.fs +1 -1
- data/tracks/fsharp/exercises/protein-translation/ProteinTranslationTest.fs +94 -60
- data/tracks/fsharp/exercises/react/ReactTest.fs +1 -1
- data/tracks/fsharp/exercises/rna-transcription/RnaTranscriptionTest.fs +1 -1
- data/tracks/fsharp/exercises/roman-numerals/RomanNumeralsTest.fs +1 -1
- data/tracks/fsharp/exercises/rotational-cipher/RotationalCipherTest.fs +1 -1
- data/tracks/fsharp/exercises/say/Example.fs +1 -1
- data/tracks/fsharp/exercises/say/SayTest.fs +21 -24
- data/tracks/fsharp/exercises/scrabble-score/ScrabbleScoreTest.fs +1 -1
- data/tracks/fsharp/exercises/secret-handshake/Example.fs +2 -2
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshake.fs +1 -1
- data/tracks/fsharp/exercises/secret-handshake/SecretHandshakeTest.fs +39 -22
- data/tracks/fsharp/exercises/sieve/Example.fs +1 -1
- data/tracks/fsharp/exercises/sieve/Sieve.fs +1 -1
- data/tracks/fsharp/exercises/sieve/SieveTest.fs +19 -21
- data/tracks/fsharp/exercises/spiral-matrix/SpiralMatrixTest.fs +1 -1
- data/tracks/fsharp/exercises/sum-of-multiples/Example.fs +1 -1
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiples.fs +1 -1
- data/tracks/fsharp/exercises/sum-of-multiples/SumOfMultiplesTest.fs +44 -14
- data/tracks/fsharp/exercises/twelve-days/TwelveDaysTest.fs +1 -1
- data/tracks/fsharp/exercises/two-fer/Example.fs +1 -1
- data/tracks/fsharp/exercises/two-fer/TwoFer.fs +1 -1
- data/tracks/fsharp/exercises/two-fer/TwoFerTest.fs +4 -4
- data/tracks/fsharp/exercises/word-count/Example.fs +2 -2
- data/tracks/fsharp/exercises/word-count/WordCount.fs +2 -2
- data/tracks/fsharp/exercises/word-count/WordCountTest.fs +80 -100
- data/tracks/fsharp/exercises/wordy/Example.fs +2 -3
- data/tracks/fsharp/exercises/wordy/Wordy.fs +1 -1
- data/tracks/fsharp/exercises/wordy/WordyTest.fs +51 -49
- data/tracks/fsharp/exercises/zebra-puzzle/Example.fs +4 -4
- data/tracks/fsharp/exercises/zebra-puzzle/ZebraPuzzleTest.fs +7 -8
- data/tracks/fsharp/generators/Common.fs +3 -1
- data/tracks/fsharp/generators/Exercise.fs +12 -1
- data/tracks/fsharp/generators/Generators.fs +89 -42
- data/tracks/fsharp/generators/Generators.fsproj +1 -0
- data/tracks/fsharp/generators/Options.fs +14 -7
- data/tracks/fsharp/generators/Program.fs +3 -0
- data/tracks/fsharp/generators/Rendering.fs +0 -1
- data/tracks/fsharp/generators/Track.fs +26 -0
- data/tracks/go/exercises/custom-set/.meta/gen.go +16 -14
- data/tracks/go/exercises/custom-set/cases_test.go +2 -2
- data/tracks/java/exercises/food-chain/.meta/version +1 -0
- data/tracks/java/exercises/sieve/.meta/version +1 -0
- data/tracks/java/exercises/sieve/src/test/java/SieveTest.java +17 -0
- data/tracks/java/exercises/twelve-days/.meta/version +1 -0
- data/tracks/java/exercises/twelve-days/src/test/java/TwelveDaysTest.java +15 -3
- data/tracks/java/exercises/two-fer/.meta/version +1 -0
- data/tracks/java/exercises/two-fer/src/test/java/TwoferTest.java +0 -9
- data/tracks/ocaml/config/exercise_readme.go.tmpl +38 -4
- data/tracks/ocaml/exercises/acronym/README.md +0 -2
- data/tracks/ocaml/exercises/all-your-base/README.md +1 -3
- data/tracks/ocaml/exercises/anagram/README.md +0 -1
- data/tracks/ocaml/exercises/atbash-cipher/README.md +2 -2
- data/tracks/ocaml/exercises/beer-song/README.md +2 -3
- data/tracks/ocaml/exercises/binary-search/README.md +0 -1
- data/tracks/ocaml/exercises/bob/README.md +2 -1
- data/tracks/ocaml/exercises/bowling/README.md +20 -7
- data/tracks/ocaml/exercises/bracket-push/README.md +0 -1
- data/tracks/ocaml/exercises/change/README.md +1 -2
- data/tracks/ocaml/exercises/connect/README.md +1 -3
- data/tracks/ocaml/exercises/custom-set/README.md +0 -2
- data/tracks/ocaml/exercises/difference-of-squares/README.md +0 -1
- data/tracks/ocaml/exercises/dominoes/README.md +3 -5
- data/tracks/ocaml/exercises/etl/README.md +3 -2
- data/tracks/ocaml/exercises/forth/README.md +0 -2
- data/tracks/ocaml/exercises/grade-school/README.md +0 -1
- data/tracks/ocaml/exercises/hamming/README.md +0 -1
- data/tracks/ocaml/exercises/hangman/README.md +0 -2
- data/tracks/ocaml/exercises/hello-world/README.md +0 -1
- data/tracks/ocaml/exercises/hexadecimal/README.md +0 -1
- data/tracks/ocaml/exercises/leap/README.md +1 -2
- data/tracks/ocaml/exercises/list-ops/README.md +0 -2
- data/tracks/ocaml/exercises/luhn/README.md +7 -8
- data/tracks/ocaml/exercises/meetup/README.md +16 -14
- data/tracks/ocaml/exercises/minesweeper/README.md +0 -2
- data/tracks/ocaml/exercises/nucleotide-count/README.md +8 -23
- data/tracks/ocaml/exercises/palindrome-products/README.md +0 -1
- data/tracks/ocaml/exercises/pangram/README.md +1 -2
- data/tracks/ocaml/exercises/phone-number/README.md +4 -4
- data/tracks/ocaml/exercises/prime-factors/README.md +0 -1
- data/tracks/ocaml/exercises/raindrops/README.md +0 -1
- data/tracks/ocaml/exercises/react/README.md +0 -2
- data/tracks/ocaml/{docs/EXERCISE_README_INSERT.md → exercises/rectangles/README.md} +67 -0
- data/tracks/ocaml/exercises/rna-transcription/README.md +1 -2
- data/tracks/ocaml/exercises/robot-name/README.md +0 -1
- data/tracks/ocaml/exercises/roman-numerals/README.md +1 -2
- data/tracks/ocaml/exercises/run-length-encoding/README.md +4 -5
- data/tracks/ocaml/exercises/say/README.md +0 -1
- data/tracks/ocaml/exercises/space-age/README.md +1 -2
- data/tracks/ocaml/exercises/triangle/README.md +8 -6
- data/tracks/ocaml/exercises/word-count/README.md +1 -3
- data/tracks/ocaml/exercises/zipper/README.md +1 -3
- data/tracks/perl6/.travis.yml +1 -1
- data/tracks/perl6/bin/README.md +1 -2
- data/tracks/perl6/bin/exercise-gen.pl6 +18 -18
- data/tracks/perl6/config.json +1 -0
- data/tracks/perl6/exercises/accumulate/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/accumulate/{Example.pm6 → .meta/solutions/Accumulate.pm6} +0 -0
- data/tracks/perl6/exercises/acronym/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/acronym/{Example.pm6 → .meta/solutions/Acronym.pm6} +0 -0
- data/tracks/perl6/exercises/all-your-base/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/all-your-base/{Example.pm6 → .meta/solutions/AllYourBase.pm6} +0 -0
- data/tracks/perl6/exercises/allergies/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/allergies/{Example.pm6 → .meta/solutions/Allergies.pm6} +0 -0
- data/tracks/perl6/exercises/anagram/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/anagram/{Example.pm6 → .meta/solutions/Anagram.pm6} +0 -0
- data/tracks/perl6/exercises/atbash-cipher/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/atbash-cipher/{Example.pm6 → .meta/solutions/AtbashCipher.pm6} +0 -0
- data/tracks/perl6/exercises/binary/{Example.pm6 → .meta/solutions/Trinary.pm6} +0 -0
- data/tracks/perl6/exercises/bob/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/bob/{Example.pm6 → .meta/solutions/Bob.pm6} +0 -0
- data/tracks/perl6/exercises/clock/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/clock/{Example.pm6 → .meta/solutions/Clock.pm6} +0 -0
- data/tracks/perl6/exercises/etl/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/etl/{Example.pm6 → .meta/solutions/ETL.pm6} +0 -0
- data/tracks/perl6/exercises/flatten-array/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/flatten-array/{Example.pm6 → .meta/solutions/FlattenArray.pm6} +0 -0
- data/tracks/perl6/exercises/grade-school/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/grade-school/{Example.pm6 → .meta/solutions/GradeSchool.pm6} +0 -0
- data/tracks/perl6/exercises/grains/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/grains/{Example.pm6 → .meta/solutions/Grains.pm6} +0 -0
- data/tracks/perl6/exercises/hamming/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/hamming/{Example.pm6 → .meta/solutions/Hamming.pm6} +0 -0
- data/tracks/perl6/exercises/hello-world/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/hello-world/{Example.pm6 → .meta/solutions/HelloWorld.pm6} +0 -0
- data/tracks/perl6/exercises/leap/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/leap/{Example.pm6 → .meta/solutions/Leap.pm6} +0 -0
- data/tracks/perl6/exercises/linked-list/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/linked-list/{Example.pm6 → .meta/solutions/LinkedList.pm6} +0 -0
- data/tracks/perl6/exercises/luhn/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/luhn/{Example.pm6 → .meta/solutions/Luhn.pm6} +0 -0
- data/tracks/perl6/exercises/meetup/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/meetup/{Example.pm6 → .meta/solutions/Meetup.pm6} +0 -0
- data/tracks/perl6/exercises/nucleotide-count/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/nucleotide-count/{Example.pm6 → .meta/solutions/NucleotideCount.pm6} +0 -0
- data/tracks/perl6/exercises/pangram/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/pangram/{Example.pm6 → .meta/solutions/Pangram.pm6} +0 -0
- data/tracks/perl6/exercises/phone-number/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/phone-number/{Example.pm6 → .meta/solutions/Phone.pm6} +0 -0
- data/tracks/perl6/exercises/raindrops/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/raindrops/{Example.pm6 → .meta/solutions/Raindrops.pm6} +0 -0
- data/tracks/perl6/exercises/rna-transcription/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/rna-transcription/{Example.pm6 → .meta/solutions/RNA.pm6} +0 -0
- data/tracks/perl6/exercises/robot-name/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/robot-name/{Example.pm6 → .meta/solutions/Robot.pm6} +0 -0
- data/tracks/perl6/exercises/roman-numerals/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/roman-numerals/{Example.pm6 → .meta/solutions/RomanNumerals.pm6} +0 -0
- data/tracks/perl6/exercises/scrabble-score/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/scrabble-score/{Example.pm6 → .meta/solutions/Scrabble.pm6} +0 -0
- data/tracks/perl6/exercises/space-age/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/space-age/{Example.pm6 → .meta/solutions/SpaceAge.pm6} +0 -0
- data/tracks/perl6/exercises/trinary/{Example.pm6 → .meta/solutions/Trinary.pm6} +0 -0
- data/tracks/perl6/exercises/two-fer/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/two-fer/{Example.pm6 → .meta/solutions/TwoFer.pm6} +0 -0
- data/tracks/perl6/exercises/word-count/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/word-count/{Example.pm6 → .meta/solutions/WordCount.pm6} +0 -0
- data/tracks/perl6/exercises/wordy/{example.yaml → .meta/exercise-data.yaml} +0 -0
- data/tracks/perl6/exercises/wordy/{Example.pm6 → .meta/solutions/Wordy.pm6} +0 -0
- data/tracks/perl6/t/generated-tests.t +2 -2
- data/tracks/python/config.json +12 -0
- data/tracks/python/exercises/bowling/.gitignore +0 -0
- data/tracks/python/exercises/bowling/bowling.py +11 -0
- data/tracks/python/exercises/bowling/bowling_test.py +193 -0
- data/tracks/python/exercises/bowling/example.py +149 -0
- data/tracks/python/exercises/say/say_test.py +1 -1
- data/tracks/ruby/README.md +121 -97
- data/tracks/ruby/config/exercise_readme.go.tmpl +23 -4
- data/tracks/ruby/exercises/accumulate/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/ruby/exercises/accumulate/README.md +3 -5
- data/tracks/ruby/exercises/acronym/README.md +3 -6
- data/tracks/ruby/exercises/all-your-base/README.md +4 -7
- data/tracks/ruby/exercises/allergies/README.md +3 -6
- data/tracks/ruby/exercises/alphametics/README.md +5 -8
- data/tracks/ruby/exercises/anagram/README.md +3 -5
- data/tracks/ruby/exercises/atbash-cipher/README.md +5 -6
- data/tracks/ruby/exercises/beer-song/README.md +5 -7
- data/tracks/ruby/exercises/binary-search-tree/README.md +3 -5
- data/tracks/ruby/exercises/binary-search/README.md +3 -5
- data/tracks/ruby/exercises/binary/README.md +5 -5
- data/tracks/ruby/exercises/bob/README.md +3 -5
- data/tracks/ruby/exercises/book-store/README.md +3 -5
- data/tracks/ruby/exercises/bowling/README.md +23 -11
- data/tracks/ruby/exercises/bracket-push/README.md +3 -5
- data/tracks/ruby/exercises/change/README.md +3 -5
- data/tracks/ruby/exercises/circular-buffer/README.md +16 -11
- data/tracks/ruby/exercises/clock/README.md +3 -5
- data/tracks/ruby/exercises/collatz-conjecture/README.md +4 -6
- data/tracks/ruby/exercises/complex-numbers/README.md +6 -8
- data/tracks/ruby/exercises/connect/README.md +4 -7
- data/tracks/ruby/exercises/crypto-square/README.md +3 -5
- data/tracks/ruby/exercises/custom-set/README.md +3 -6
- data/tracks/ruby/exercises/diamond/README.md +9 -11
- data/tracks/ruby/exercises/difference-of-squares/README.md +3 -5
- data/tracks/ruby/exercises/dominoes/README.md +6 -9
- data/tracks/ruby/exercises/etl/README.md +6 -6
- data/tracks/ruby/exercises/flatten-array/README.md +5 -8
- data/tracks/ruby/exercises/food-chain/README.md +4 -6
- data/tracks/ruby/exercises/gigasecond/README.md +3 -5
- data/tracks/ruby/exercises/grade-school/README.md +3 -6
- data/tracks/ruby/exercises/grains/README.md +3 -6
- data/tracks/ruby/exercises/hamming/README.md +3 -5
- data/tracks/ruby/exercises/hello-world/README.md +1 -3
- data/tracks/ruby/exercises/hexadecimal/README.md +3 -5
- data/tracks/ruby/exercises/house/README.md +5 -8
- data/tracks/ruby/exercises/isbn-verifier/README.md +4 -6
- data/tracks/ruby/exercises/isogram/README.md +5 -6
- data/tracks/ruby/exercises/kindergarten-garden/README.md +16 -18
- data/tracks/ruby/exercises/largest-series-product/README.md +3 -5
- data/tracks/ruby/exercises/leap/README.md +4 -6
- data/tracks/ruby/exercises/linked-list/README.md +13 -15
- data/tracks/ruby/exercises/list-ops/README.md +3 -6
- data/tracks/ruby/exercises/luhn/README.md +10 -12
- data/tracks/ruby/exercises/matrix/README.md +9 -9
- data/tracks/ruby/exercises/meetup/README.md +19 -18
- data/tracks/ruby/exercises/minesweeper/README.md +3 -6
- data/tracks/ruby/exercises/nth-prime/README.md +3 -5
- data/tracks/ruby/exercises/nucleotide-count/README.md +11 -27
- data/tracks/ruby/exercises/ocr-numbers/README.md +9 -11
- data/tracks/ruby/exercises/octal/README.md +9 -7
- data/tracks/ruby/exercises/palindrome-products/README.md +8 -17
- data/tracks/ruby/exercises/pangram/README.md +4 -6
- data/tracks/ruby/exercises/pascals-triangle/README.md +5 -7
- data/tracks/ruby/exercises/perfect-numbers/README.md +5 -7
- data/tracks/ruby/exercises/phone-number/README.md +7 -8
- data/tracks/ruby/exercises/pig-latin/README.md +3 -5
- data/tracks/ruby/exercises/point-mutations/README.md +3 -5
- data/tracks/ruby/exercises/poker/README.md +3 -5
- data/tracks/ruby/exercises/prime-factors/README.md +3 -5
- data/tracks/ruby/exercises/protein-translation/README.md +7 -10
- data/tracks/ruby/exercises/proverb/README.md +17 -14
- data/tracks/ruby/exercises/pythagorean-triplet/README.md +6 -8
- data/tracks/ruby/exercises/queen-attack/README.md +4 -6
- data/tracks/ruby/exercises/rail-fence-cipher/README.md +15 -12
- data/tracks/ruby/exercises/raindrops/README.md +3 -5
- data/tracks/ruby/exercises/rna-transcription/README.md +4 -6
- data/tracks/ruby/exercises/robot-name/{HINTS.md → .meta/hints.md} +0 -0
- data/tracks/ruby/exercises/robot-name/README.md +3 -5
- data/tracks/ruby/exercises/robot-simulator/README.md +3 -5
- data/tracks/ruby/exercises/roman-numerals/README.md +4 -6
- data/tracks/ruby/exercises/rotational-cipher/README.md +3 -5
- data/tracks/ruby/exercises/run-length-encoding/README.md +7 -9
- data/tracks/ruby/exercises/saddle-points/README.md +5 -7
- data/tracks/ruby/exercises/say/README.md +3 -5
- data/tracks/ruby/exercises/scale-generator/README.md +3 -7
- data/tracks/ruby/exercises/scrabble-score/README.md +6 -6
- data/tracks/ruby/exercises/secret-handshake/README.md +4 -6
- data/tracks/ruby/exercises/series/README.md +3 -5
- data/tracks/ruby/exercises/sieve/README.md +3 -5
- data/tracks/ruby/exercises/simple-cipher/README.md +7 -11
- data/tracks/ruby/exercises/simple-linked-list/README.md +3 -5
- data/tracks/ruby/exercises/space-age/README.md +4 -6
- data/tracks/ruby/exercises/strain/README.md +3 -5
- data/tracks/ruby/exercises/sum-of-multiples/README.md +6 -11
- data/tracks/ruby/exercises/tournament/README.md +8 -11
- data/tracks/ruby/exercises/transpose/README.md +10 -12
- data/tracks/ruby/exercises/triangle/README.md +12 -11
- data/tracks/ruby/exercises/trinary/README.md +4 -6
- data/tracks/ruby/exercises/twelve-days/README.md +4 -6
- data/tracks/ruby/exercises/two-bucket/README.md +13 -15
- data/tracks/ruby/exercises/two-fer/README.md +13 -39
- data/tracks/ruby/exercises/word-count/README.md +4 -7
- data/tracks/ruby/exercises/wordy/README.md +3 -10
- metadata +77 -68
- data/tracks/ruby/docs/EXERCISE_README_INSERT.md +0 -24
@@ -31,15 +31,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
31
31
|
the test file, or note the alternative instruction, below, for running
|
32
32
|
the test file.
|
33
33
|
|
34
|
-
|
35
|
-
directory. For example, if the test suite is called
|
36
|
-
`hello_world_test.rb`, you can run the following command:
|
34
|
+
Run the tests from the exercise directory using the following command:
|
37
35
|
|
38
|
-
ruby
|
36
|
+
ruby pig_latin_test.rb
|
39
37
|
|
40
38
|
To include color from the command line:
|
41
39
|
|
42
|
-
ruby -r minitest/pride
|
40
|
+
ruby -r minitest/pride pig_latin_test.rb
|
43
41
|
|
44
42
|
|
45
43
|
## Source
|
@@ -48,15 +48,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
48
48
|
the test file, or note the alternative instruction, below, for running
|
49
49
|
the test file.
|
50
50
|
|
51
|
-
|
52
|
-
directory. For example, if the test suite is called
|
53
|
-
`hello_world_test.rb`, you can run the following command:
|
51
|
+
Run the tests from the exercise directory using the following command:
|
54
52
|
|
55
|
-
ruby
|
53
|
+
ruby point_mutations_test.rb
|
56
54
|
|
57
55
|
To include color from the command line:
|
58
56
|
|
59
|
-
ruby -r minitest/pride
|
57
|
+
ruby -r minitest/pride point_mutations_test.rb
|
60
58
|
|
61
59
|
|
62
60
|
## Source
|
@@ -19,15 +19,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
19
19
|
the test file, or note the alternative instruction, below, for running
|
20
20
|
the test file.
|
21
21
|
|
22
|
-
|
23
|
-
directory. For example, if the test suite is called
|
24
|
-
`hello_world_test.rb`, you can run the following command:
|
22
|
+
Run the tests from the exercise directory using the following command:
|
25
23
|
|
26
|
-
ruby
|
24
|
+
ruby poker_test.rb
|
27
25
|
|
28
26
|
To include color from the command line:
|
29
27
|
|
30
|
-
ruby -r minitest/pride
|
28
|
+
ruby -r minitest/pride poker_test.rb
|
31
29
|
|
32
30
|
|
33
31
|
## Source
|
@@ -43,15 +43,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
43
43
|
the test file, or note the alternative instruction, below, for running
|
44
44
|
the test file.
|
45
45
|
|
46
|
-
|
47
|
-
directory. For example, if the test suite is called
|
48
|
-
`hello_world_test.rb`, you can run the following command:
|
46
|
+
Run the tests from the exercise directory using the following command:
|
49
47
|
|
50
|
-
ruby
|
48
|
+
ruby prime_factors_test.rb
|
51
49
|
|
52
50
|
To include color from the command line:
|
53
51
|
|
54
|
-
ruby -r minitest/pride
|
52
|
+
ruby -r minitest/pride prime_factors_test.rb
|
55
53
|
|
56
54
|
|
57
55
|
## Source
|
@@ -10,17 +10,17 @@ Codons: `"AUG", "UUU", "UCU"`
|
|
10
10
|
=> which become a polypeptide with the following sequence =>
|
11
11
|
|
12
12
|
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
13
|
-
|
13
|
+
|
14
14
|
There are 64 codons which in turn correspond to 20 amino acids; however, all of the codon sequences and resulting amino acids are not important in this exercise. If it works for one codon, the program should work for all of them.
|
15
|
-
However, feel free to expand the list in the test suite to include them all.
|
15
|
+
However, feel free to expand the list in the test suite to include them all.
|
16
16
|
|
17
|
-
There are also
|
17
|
+
There are also three terminating codons (also known as 'STOP' codons); if any of these codons are encountered (by the ribosome), all translation ends and the protein is terminated.
|
18
18
|
|
19
19
|
All subsequent codons after are ignored, like this:
|
20
20
|
|
21
21
|
RNA: `"AUGUUUUCUUAAAUG"` =>
|
22
22
|
|
23
|
-
Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
|
23
|
+
Codons: `"AUG", "UUU", "UCU", "UAG", "AUG"` =>
|
24
24
|
|
25
25
|
Protein: `"Methionine", "Phenylalanine", "Serine"`
|
26
26
|
|
@@ -39,7 +39,6 @@ UGU, UGC | Cysteine
|
|
39
39
|
UGG | Tryptophan
|
40
40
|
UAA, UAG, UGA | STOP
|
41
41
|
|
42
|
-
|
43
42
|
Learn more about [protein translation on Wikipedia](http://en.wikipedia.org/wiki/Translation_(biology))
|
44
43
|
|
45
44
|
* * * *
|
@@ -56,15 +55,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
56
55
|
the test file, or note the alternative instruction, below, for running
|
57
56
|
the test file.
|
58
57
|
|
59
|
-
|
60
|
-
directory. For example, if the test suite is called
|
61
|
-
`hello_world_test.rb`, you can run the following command:
|
58
|
+
Run the tests from the exercise directory using the following command:
|
62
59
|
|
63
|
-
ruby
|
60
|
+
ruby protein_translation_test.rb
|
64
61
|
|
65
62
|
To include color from the command line:
|
66
63
|
|
67
|
-
ruby -r minitest/pride
|
64
|
+
ruby -r minitest/pride protein_translation_test.rb
|
68
65
|
|
69
66
|
|
70
67
|
## Source
|
@@ -1,15 +1,20 @@
|
|
1
1
|
# Proverb
|
2
2
|
|
3
|
-
For want of a horseshoe nail, a kingdom was lost, or so the saying goes.
|
4
|
-
the full text of this proverbial rhyme:
|
3
|
+
For want of a horseshoe nail, a kingdom was lost, or so the saying goes.
|
5
4
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
5
|
+
Given a list of inputs, generate the relevant proverb. For example, given the list `["nail", "shoe", "horse", "rider", "message", "battle", "kingdom"]`, you will output the full text of this proverbial rhyme:
|
6
|
+
|
7
|
+
```text
|
8
|
+
For want of a nail the shoe was lost.
|
9
|
+
For want of a shoe the horse was lost.
|
10
|
+
For want of a horse the rider was lost.
|
11
|
+
For want of a rider the message was lost.
|
12
|
+
For want of a message the battle was lost.
|
13
|
+
For want of a battle the kingdom was lost.
|
14
|
+
And all for the want of a nail.
|
15
|
+
```
|
16
|
+
|
17
|
+
Note that the list of inputs may vary; your solution should be able to handle lists of arbitrary length and content. No line of the output text should be a static, unchanging string; all should vary according to the input given.
|
13
18
|
|
14
19
|
* * * *
|
15
20
|
|
@@ -25,15 +30,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
25
30
|
the test file, or note the alternative instruction, below, for running
|
26
31
|
the test file.
|
27
32
|
|
28
|
-
|
29
|
-
directory. For example, if the test suite is called
|
30
|
-
`hello_world_test.rb`, you can run the following command:
|
33
|
+
Run the tests from the exercise directory using the following command:
|
31
34
|
|
32
|
-
ruby
|
35
|
+
ruby proverb_test.rb
|
33
36
|
|
34
37
|
To include color from the command line:
|
35
38
|
|
36
|
-
ruby -r minitest/pride
|
39
|
+
ruby -r minitest/pride proverb_test.rb
|
37
40
|
|
38
41
|
|
39
42
|
## Source
|
@@ -3,13 +3,13 @@
|
|
3
3
|
A Pythagorean triplet is a set of three natural numbers, {a, b, c}, for
|
4
4
|
which,
|
5
5
|
|
6
|
-
```
|
6
|
+
```text
|
7
7
|
a**2 + b**2 = c**2
|
8
8
|
```
|
9
9
|
|
10
|
-
For example,
|
10
|
+
For example,
|
11
11
|
|
12
|
-
```
|
12
|
+
```text
|
13
13
|
3**2 + 4**2 = 9 + 16 = 25 = 5**2.
|
14
14
|
```
|
15
15
|
|
@@ -31,15 +31,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
31
31
|
the test file, or note the alternative instruction, below, for running
|
32
32
|
the test file.
|
33
33
|
|
34
|
-
|
35
|
-
directory. For example, if the test suite is called
|
36
|
-
`hello_world_test.rb`, you can run the following command:
|
34
|
+
Run the tests from the exercise directory using the following command:
|
37
35
|
|
38
|
-
ruby
|
36
|
+
ruby pythagorean_triplet_test.rb
|
39
37
|
|
40
38
|
To include color from the command line:
|
41
39
|
|
42
|
-
ruby -r minitest/pride
|
40
|
+
ruby -r minitest/pride pythagorean_triplet_test.rb
|
43
41
|
|
44
42
|
|
45
43
|
## Source
|
@@ -11,7 +11,7 @@ A chessboard can be represented by an 8 by 8 array.
|
|
11
11
|
So if you're told the white queen is at (2, 3) and the black queen at
|
12
12
|
(5, 6), then you'd know you've got a set-up like so:
|
13
13
|
|
14
|
-
```
|
14
|
+
```text
|
15
15
|
_ _ _ _ _ _ _ _
|
16
16
|
_ _ _ _ _ _ _ _
|
17
17
|
_ _ _ W _ _ _ _
|
@@ -40,15 +40,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
40
40
|
the test file, or note the alternative instruction, below, for running
|
41
41
|
the test file.
|
42
42
|
|
43
|
-
|
44
|
-
directory. For example, if the test suite is called
|
45
|
-
`hello_world_test.rb`, you can run the following command:
|
43
|
+
Run the tests from the exercise directory using the following command:
|
46
44
|
|
47
|
-
ruby
|
45
|
+
ruby queen_attack_test.rb
|
48
46
|
|
49
47
|
To include color from the command line:
|
50
48
|
|
51
|
-
ruby -r minitest/pride
|
49
|
+
ruby -r minitest/pride queen_attack_test.rb
|
52
50
|
|
53
51
|
|
54
52
|
## Source
|
@@ -11,41 +11,46 @@ Finally the message is then read off in rows.
|
|
11
11
|
|
12
12
|
For example, using three "rails" and the message "WE ARE DISCOVERED FLEE AT ONCE",
|
13
13
|
the cipherer writes out:
|
14
|
-
|
14
|
+
|
15
|
+
```text
|
15
16
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
16
17
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
17
18
|
. . A . . . I . . . V . . . D . . . E . . . N . .
|
18
19
|
```
|
19
20
|
|
20
21
|
Then reads off:
|
21
|
-
|
22
|
+
|
23
|
+
```text
|
22
24
|
WECRLTEERDSOEEFEAOCAIVDEN
|
23
25
|
```
|
24
26
|
|
25
|
-
|
26
27
|
To decrypt a message you take the zig-zag shape and fill the ciphertext along the rows.
|
27
|
-
|
28
|
+
|
29
|
+
```text
|
28
30
|
? . . . ? . . . ? . . . ? . . . ? . . . ? . . . ?
|
29
31
|
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
30
32
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
31
33
|
```
|
32
34
|
|
33
35
|
The first row has seven spots that can be filled with "WECRLTE".
|
34
|
-
|
36
|
+
|
37
|
+
```text
|
35
38
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
36
39
|
. ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? . ? .
|
37
40
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
38
41
|
```
|
39
42
|
|
40
43
|
Now the 2nd row takes "ERDSOEEFEAOC".
|
41
|
-
|
44
|
+
|
45
|
+
```text
|
42
46
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
43
47
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
44
48
|
. . ? . . . ? . . . ? . . . ? . . . ? . . . ? . .
|
45
49
|
```
|
46
50
|
|
47
51
|
Leaving "AIVDEN" for the last row.
|
48
|
-
|
52
|
+
|
53
|
+
```text
|
49
54
|
W . . . E . . . C . . . R . . . L . . . T . . . E
|
50
55
|
. E . R . D . S . O . E . E . F . E . A . O . C .
|
51
56
|
. . A . . . I . . . V . . . D . . . E . . . N . .
|
@@ -67,15 +72,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
67
72
|
the test file, or note the alternative instruction, below, for running
|
68
73
|
the test file.
|
69
74
|
|
70
|
-
|
71
|
-
directory. For example, if the test suite is called
|
72
|
-
`hello_world_test.rb`, you can run the following command:
|
75
|
+
Run the tests from the exercise directory using the following command:
|
73
76
|
|
74
|
-
ruby
|
77
|
+
ruby rail_fence_cipher_test.rb
|
75
78
|
|
76
79
|
To include color from the command line:
|
77
80
|
|
78
|
-
ruby -r minitest/pride
|
81
|
+
ruby -r minitest/pride rail_fence_cipher_test.rb
|
79
82
|
|
80
83
|
|
81
84
|
## Source
|
@@ -31,15 +31,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
31
31
|
the test file, or note the alternative instruction, below, for running
|
32
32
|
the test file.
|
33
33
|
|
34
|
-
|
35
|
-
directory. For example, if the test suite is called
|
36
|
-
`hello_world_test.rb`, you can run the following command:
|
34
|
+
Run the tests from the exercise directory using the following command:
|
37
35
|
|
38
|
-
ruby
|
36
|
+
ruby raindrops_test.rb
|
39
37
|
|
40
38
|
To include color from the command line:
|
41
39
|
|
42
|
-
ruby -r minitest/pride
|
40
|
+
ruby -r minitest/pride raindrops_test.rb
|
43
41
|
|
44
42
|
|
45
43
|
## Source
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# RNA Transcription
|
2
2
|
|
3
3
|
Given a DNA strand, return its RNA complement (per RNA transcription).
|
4
4
|
|
@@ -32,15 +32,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
32
32
|
the test file, or note the alternative instruction, below, for running
|
33
33
|
the test file.
|
34
34
|
|
35
|
-
|
36
|
-
directory. For example, if the test suite is called
|
37
|
-
`hello_world_test.rb`, you can run the following command:
|
35
|
+
Run the tests from the exercise directory using the following command:
|
38
36
|
|
39
|
-
ruby
|
37
|
+
ruby rna_transcription_test.rb
|
40
38
|
|
41
39
|
To include color from the command line:
|
42
40
|
|
43
|
-
ruby -r minitest/pride
|
41
|
+
ruby -r minitest/pride rna_transcription_test.rb
|
44
42
|
|
45
43
|
|
46
44
|
## Source
|
File without changes
|
@@ -38,15 +38,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
38
38
|
the test file, or note the alternative instruction, below, for running
|
39
39
|
the test file.
|
40
40
|
|
41
|
-
|
42
|
-
directory. For example, if the test suite is called
|
43
|
-
`hello_world_test.rb`, you can run the following command:
|
41
|
+
Run the tests from the exercise directory using the following command:
|
44
42
|
|
45
|
-
ruby
|
43
|
+
ruby robot_name_test.rb
|
46
44
|
|
47
45
|
To include color from the command line:
|
48
46
|
|
49
|
-
ruby -r minitest/pride
|
47
|
+
ruby -r minitest/pride robot_name_test.rb
|
50
48
|
|
51
49
|
|
52
50
|
## Source
|
@@ -41,15 +41,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
41
41
|
the test file, or note the alternative instruction, below, for running
|
42
42
|
the test file.
|
43
43
|
|
44
|
-
|
45
|
-
directory. For example, if the test suite is called
|
46
|
-
`hello_world_test.rb`, you can run the following command:
|
44
|
+
Run the tests from the exercise directory using the following command:
|
47
45
|
|
48
|
-
ruby
|
46
|
+
ruby robot_simulator_test.rb
|
49
47
|
|
50
48
|
To include color from the command line:
|
51
49
|
|
52
|
-
ruby -r minitest/pride
|
50
|
+
ruby -r minitest/pride robot_simulator_test.rb
|
53
51
|
|
54
52
|
|
55
53
|
## Source
|
@@ -14,7 +14,7 @@ The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
|
|
14
14
|
these letters have lots of straight lines and are hence easy to hack
|
15
15
|
into stone tablets).
|
16
16
|
|
17
|
-
```
|
17
|
+
```text
|
18
18
|
1 => I
|
19
19
|
10 => X
|
20
20
|
7 => VII
|
@@ -56,15 +56,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
56
56
|
the test file, or note the alternative instruction, below, for running
|
57
57
|
the test file.
|
58
58
|
|
59
|
-
|
60
|
-
directory. For example, if the test suite is called
|
61
|
-
`hello_world_test.rb`, you can run the following command:
|
59
|
+
Run the tests from the exercise directory using the following command:
|
62
60
|
|
63
|
-
ruby
|
61
|
+
ruby roman_numerals_test.rb
|
64
62
|
|
65
63
|
To include color from the command line:
|
66
64
|
|
67
|
-
ruby -r minitest/pride
|
65
|
+
ruby -r minitest/pride roman_numerals_test.rb
|
68
66
|
|
69
67
|
|
70
68
|
## Source
|
@@ -44,15 +44,13 @@ If you would like color output, you can `require 'minitest/pride'` in
|
|
44
44
|
the test file, or note the alternative instruction, below, for running
|
45
45
|
the test file.
|
46
46
|
|
47
|
-
|
48
|
-
directory. For example, if the test suite is called
|
49
|
-
`hello_world_test.rb`, you can run the following command:
|
47
|
+
Run the tests from the exercise directory using the following command:
|
50
48
|
|
51
|
-
ruby
|
49
|
+
ruby rotational_cipher_test.rb
|
52
50
|
|
53
51
|
To include color from the command line:
|
54
52
|
|
55
|
-
ruby -r minitest/pride
|
53
|
+
ruby -r minitest/pride rotational_cipher_test.rb
|
56
54
|
|
57
55
|
|
58
56
|
## Source
|