trackler 2.2.0.1 → 2.2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. checksums.yaml +4 -4
  2. data/fixtures/tracks/fake/config.json +4 -3
  3. data/fixtures/tracks/fruit/config.json +4 -3
  4. data/lib/trackler/track.rb +2 -2
  5. data/lib/trackler/version.rb +1 -1
  6. data/tracks/{java/exercises/allergies/.meta/readme.go.tmpl → c/config/exercise_readme.go.tmpl} +0 -1
  7. data/tracks/c/exercises/acronym/README.md +47 -0
  8. data/tracks/c/exercises/all-your-base/README.md +67 -0
  9. data/tracks/c/exercises/allergies/README.md +69 -0
  10. data/tracks/c/exercises/anagram/README.md +45 -0
  11. data/tracks/c/exercises/atbash-cipher/README.md +66 -0
  12. data/tracks/c/exercises/beer-song/README.md +359 -0
  13. data/tracks/c/exercises/binary/README.md +67 -0
  14. data/tracks/c/exercises/binary-search/README.md +73 -0
  15. data/tracks/c/exercises/bob/README.md +50 -0
  16. data/tracks/c/exercises/clock/README.md +45 -0
  17. data/tracks/c/exercises/difference-of-squares/README.md +51 -0
  18. data/tracks/c/exercises/gigasecond/README.md +43 -0
  19. data/tracks/c/exercises/grains/README.md +66 -0
  20. data/tracks/c/exercises/hamming/README.md +74 -0
  21. data/tracks/c/exercises/hello-world/README.md +53 -0
  22. data/tracks/c/exercises/isogram/README.md +51 -0
  23. data/tracks/c/exercises/largest-series-product/README.md +52 -0
  24. data/tracks/c/exercises/leap/README.md +65 -0
  25. data/tracks/c/exercises/meetup/README.md +62 -0
  26. data/tracks/c/exercises/nth-prime/README.md +47 -0
  27. data/tracks/c/exercises/nucleotide-count/README.md +65 -0
  28. data/tracks/c/exercises/palindrome-products/README.md +72 -0
  29. data/tracks/c/exercises/pangram/README.md +47 -0
  30. data/tracks/c/exercises/pascals-triangle/README.md +53 -0
  31. data/tracks/c/exercises/perfect-numbers/README.md +56 -0
  32. data/tracks/c/exercises/phone-number/README.md +66 -0
  33. data/tracks/c/exercises/raindrops/README.md +56 -0
  34. data/tracks/c/exercises/react/README.md +51 -0
  35. data/tracks/c/exercises/rna-transcription/README.md +57 -0
  36. data/tracks/c/exercises/robot-simulator/README.md +66 -0
  37. data/tracks/c/exercises/roman-numerals/README.md +81 -0
  38. data/tracks/c/exercises/scrabble-score/README.md +76 -0
  39. data/tracks/c/exercises/series/README.md +59 -0
  40. data/tracks/c/exercises/sieve/README.md +66 -0
  41. data/tracks/c/exercises/space-age/README.md +56 -0
  42. data/tracks/c/exercises/sum-of-multiples/README.md +50 -0
  43. data/tracks/c/exercises/triangle/README.md +58 -0
  44. data/tracks/c/exercises/word-count/README.md +51 -0
  45. data/tracks/ceylon/README.md +3 -3
  46. data/tracks/ceylon/config/exercise-readme-insert.md +1 -0
  47. data/tracks/{java/exercises/accumulate/.meta/readme.go.tmpl → ceylon/config/exercise_readme.go.tmpl} +0 -1
  48. data/tracks/ceylon/exercises/anagram/README.md +29 -0
  49. data/tracks/ceylon/{docs/EXERCISE_README_INSERT.md → exercises/bracket-push/README.md} +12 -0
  50. data/tracks/ceylon/exercises/hamming/README.md +58 -0
  51. data/tracks/ceylon/exercises/largest-series-product/README.md +36 -0
  52. data/tracks/ceylon/exercises/leap/README.md +49 -0
  53. data/tracks/ceylon/exercises/react/README.md +35 -0
  54. data/tracks/ceylon/exercises/sieve/README.md +50 -0
  55. data/tracks/{java/exercises/acronym/.meta/readme.go.tmpl → delphi/config/exercise_readme.go.tmpl} +0 -1
  56. data/tracks/delphi/exercises/allergies/README.md +58 -0
  57. data/tracks/delphi/exercises/bank-account/README.md +51 -0
  58. data/tracks/delphi/exercises/beer-song/README.md +348 -0
  59. data/tracks/delphi/exercises/binary-search/README.md +62 -0
  60. data/tracks/delphi/exercises/bob/README.md +39 -0
  61. data/tracks/delphi/exercises/book-store/README.md +95 -0
  62. data/tracks/delphi/exercises/bowling/README.md +74 -0
  63. data/tracks/delphi/exercises/circular-buffer/README.md +71 -0
  64. data/tracks/delphi/exercises/clock/README.md +34 -0
  65. data/tracks/delphi/exercises/collatz-conjecture/README.md +54 -0
  66. data/tracks/delphi/exercises/etl/README.md +72 -0
  67. data/tracks/delphi/exercises/grains/README.md +55 -0
  68. data/tracks/delphi/exercises/hamming/README.md +63 -0
  69. data/tracks/delphi/exercises/hello-world/README.md +42 -0
  70. data/tracks/delphi/exercises/leap/README.md +54 -0
  71. data/tracks/delphi/exercises/minesweeper/README.md +51 -0
  72. data/tracks/delphi/exercises/nucleotide-count/README.md +54 -0
  73. data/tracks/delphi/exercises/perfect-numbers/README.md +45 -0
  74. data/tracks/delphi/exercises/phone-number/README.md +55 -0
  75. data/tracks/delphi/exercises/poker/README.md +33 -0
  76. data/tracks/delphi/exercises/raindrops/README.md +45 -0
  77. data/tracks/delphi/exercises/rna-transcription/README.md +46 -0
  78. data/tracks/delphi/exercises/roman-numerals/README.md +70 -0
  79. data/tracks/delphi/exercises/saddle-points/README.md +54 -0
  80. data/tracks/delphi/exercises/triangle/README.md +47 -0
  81. data/tracks/delphi/exercises/two-fer/README.md +69 -0
  82. data/tracks/delphi/exercises/wordy/README.md +84 -0
  83. data/tracks/{java/exercises/all-your-base/.meta/readme.go.tmpl → factor/config/exercise_readme.go.tmpl} +0 -1
  84. data/tracks/factor/exercises/hello-world/README.md +34 -0
  85. data/tracks/factor/exercises/isogram/README.md +32 -0
  86. data/tracks/factor/exercises/leap/README.md +46 -0
  87. data/tracks/factor/exercises/two-fer/README.md +61 -0
  88. data/tracks/haskell/config/exercise_readme.go.tmpl +16 -0
  89. data/tracks/haskell/exercises/accumulate/README.md +89 -0
  90. data/tracks/haskell/exercises/acronym/README.md +69 -0
  91. data/tracks/haskell/exercises/all-your-base/README.md +89 -0
  92. data/tracks/haskell/exercises/allergies/README.md +104 -0
  93. data/tracks/haskell/exercises/alphametics/README.md +96 -0
  94. data/tracks/haskell/exercises/anagram/README.md +91 -0
  95. data/tracks/haskell/exercises/atbash-cipher/README.md +88 -0
  96. data/tracks/haskell/exercises/bank-account/README.md +102 -0
  97. data/tracks/haskell/exercises/beer-song/README.md +401 -0
  98. data/tracks/haskell/exercises/binary/README.md +89 -0
  99. data/tracks/haskell/exercises/binary-search-tree/README.md +133 -0
  100. data/tracks/haskell/exercises/bob/README.md +72 -0
  101. data/tracks/haskell/exercises/bowling/README.md +128 -0
  102. data/tracks/haskell/exercises/bracket-push/README.md +64 -0
  103. data/tracks/haskell/exercises/change/README.md +77 -0
  104. data/tracks/haskell/exercises/clock/README.md +86 -0
  105. data/tracks/haskell/exercises/connect/README.md +88 -0
  106. data/tracks/haskell/exercises/crypto-square/README.md +128 -0
  107. data/tracks/haskell/exercises/custom-set/README.md +94 -0
  108. data/tracks/haskell/exercises/difference-of-squares/README.md +73 -0
  109. data/tracks/haskell/exercises/dominoes/README.md +72 -0
  110. data/tracks/haskell/exercises/etl/README.md +105 -0
  111. data/tracks/haskell/exercises/food-chain/README.md +145 -0
  112. data/tracks/haskell/exercises/forth/README.md +98 -0
  113. data/tracks/haskell/exercises/gigasecond/README.md +65 -0
  114. data/tracks/haskell/exercises/go-counting/README.md +109 -0
  115. data/tracks/haskell/exercises/grade-school/README.md +111 -0
  116. data/tracks/haskell/exercises/grains/README.md +88 -0
  117. data/tracks/haskell/exercises/hamming/README.md +96 -0
  118. data/tracks/haskell/exercises/hello-world/README.md +83 -0
  119. data/tracks/haskell/exercises/hexadecimal/README.md +68 -0
  120. data/tracks/haskell/exercises/house/README.md +187 -0
  121. data/tracks/haskell/exercises/kindergarten-garden/README.md +120 -0
  122. data/tracks/haskell/exercises/largest-series-product/README.md +74 -0
  123. data/tracks/haskell/exercises/leap/README.md +100 -0
  124. data/tracks/haskell/exercises/lens-person/README.md +66 -0
  125. data/tracks/haskell/exercises/linked-list/README.md +104 -0
  126. data/tracks/haskell/exercises/list-ops/README.md +64 -0
  127. data/tracks/haskell/exercises/luhn/README.md +125 -0
  128. data/tracks/haskell/exercises/matrix/README.md +125 -0
  129. data/tracks/haskell/exercises/meetup/README.md +92 -0
  130. data/tracks/haskell/exercises/minesweeper/README.md +84 -0
  131. data/tracks/haskell/exercises/nth-prime/README.md +69 -0
  132. data/tracks/haskell/exercises/nucleotide-count/README.md +87 -0
  133. data/tracks/haskell/exercises/ocr-numbers/README.md +139 -0
  134. data/tracks/haskell/exercises/octal/README.md +115 -0
  135. data/tracks/haskell/exercises/palindrome-products/README.md +115 -0
  136. data/tracks/haskell/exercises/pangram/README.md +69 -0
  137. data/tracks/haskell/exercises/parallel-letter-frequency/README.md +76 -0
  138. data/tracks/haskell/exercises/pascals-triangle/README.md +75 -0
  139. data/tracks/haskell/exercises/phone-number/README.md +88 -0
  140. data/tracks/haskell/exercises/pig-latin/README.md +78 -0
  141. data/tracks/haskell/exercises/pov/README.md +100 -0
  142. data/tracks/haskell/exercises/prime-factors/README.md +90 -0
  143. data/tracks/haskell/exercises/pythagorean-triplet/README.md +78 -0
  144. data/tracks/haskell/exercises/queen-attack/README.md +105 -0
  145. data/tracks/haskell/exercises/raindrops/README.md +78 -0
  146. data/tracks/haskell/exercises/rna-transcription/README.md +79 -0
  147. data/tracks/haskell/exercises/robot-name/README.md +90 -0
  148. data/tracks/haskell/exercises/robot-simulator/README.md +105 -0
  149. data/tracks/haskell/exercises/roman-numerals/README.md +112 -0
  150. data/tracks/haskell/exercises/run-length-encoding/README.md +84 -0
  151. data/tracks/haskell/exercises/saddle-points/README.md +87 -0
  152. data/tracks/haskell/exercises/say/README.md +123 -0
  153. data/tracks/haskell/exercises/scrabble-score/README.md +98 -0
  154. data/tracks/haskell/exercises/secret-handshake/README.md +89 -0
  155. data/tracks/haskell/exercises/series/README.md +106 -0
  156. data/tracks/haskell/exercises/sgf-parsing/README.md +146 -0
  157. data/tracks/haskell/exercises/sieve/README.md +88 -0
  158. data/tracks/haskell/exercises/simple-cipher/README.md +144 -0
  159. data/tracks/haskell/exercises/simple-linked-list/README.md +101 -0
  160. data/tracks/haskell/exercises/space-age/README.md +94 -0
  161. data/tracks/haskell/exercises/spiral-matrix/README.md +84 -0
  162. data/tracks/haskell/exercises/strain/README.md +94 -0
  163. data/tracks/haskell/exercises/sublist/README.md +80 -0
  164. data/tracks/haskell/exercises/sum-of-multiples/README.md +72 -0
  165. data/tracks/haskell/exercises/triangle/README.md +80 -0
  166. data/tracks/haskell/exercises/trinary/README.md +96 -0
  167. data/tracks/haskell/exercises/word-count/README.md +96 -0
  168. data/tracks/haskell/exercises/wordy/README.md +122 -0
  169. data/tracks/haskell/exercises/zebra-puzzle/README.md +86 -0
  170. data/tracks/haskell/exercises/zipper/README.md +85 -0
  171. data/tracks/java/config/exercise_readme.go.tmpl +16 -0
  172. data/tracks/java/exercises/accumulate/README.md +0 -1
  173. data/tracks/java/exercises/acronym/README.md +0 -1
  174. data/tracks/java/exercises/all-your-base/README.md +0 -1
  175. data/tracks/java/exercises/allergies/README.md +0 -1
  176. data/tracks/java/exercises/anagram/README.md +0 -1
  177. data/tracks/java/exercises/atbash-cipher/README.md +0 -1
  178. data/tracks/java/exercises/bank-account/README.md +0 -1
  179. data/tracks/java/exercises/beer-song/README.md +0 -1
  180. data/tracks/java/exercises/binary/README.md +0 -1
  181. data/tracks/java/exercises/binary-search/README.md +0 -1
  182. data/tracks/java/exercises/binary-search-tree/README.md +0 -1
  183. data/tracks/java/exercises/bob/README.md +0 -1
  184. data/tracks/java/exercises/book-store/README.md +0 -1
  185. data/tracks/java/exercises/bowling/README.md +0 -1
  186. data/tracks/java/exercises/bracket-push/README.md +0 -1
  187. data/tracks/java/exercises/change/README.md +0 -1
  188. data/tracks/java/exercises/circular-buffer/README.md +0 -1
  189. data/tracks/java/exercises/clock/README.md +0 -1
  190. data/tracks/java/exercises/collatz-conjecture/README.md +0 -1
  191. data/tracks/java/exercises/complex-numbers/README.md +0 -1
  192. data/tracks/java/exercises/crypto-square/README.md +0 -1
  193. data/tracks/java/exercises/custom-set/README.md +0 -1
  194. data/tracks/java/exercises/diamond/README.md +0 -1
  195. data/tracks/java/exercises/difference-of-squares/README.md +0 -1
  196. data/tracks/java/exercises/etl/README.md +0 -1
  197. data/tracks/java/exercises/flatten-array/README.md +0 -1
  198. data/tracks/java/exercises/food-chain/README.md +0 -1
  199. data/tracks/java/exercises/gigasecond/README.md +0 -1
  200. data/tracks/java/exercises/grade-school/README.md +0 -1
  201. data/tracks/java/exercises/hamming/README.md +0 -1
  202. data/tracks/java/exercises/hello-world/README.md +0 -1
  203. data/tracks/java/exercises/hexadecimal/README.md +0 -1
  204. data/tracks/java/exercises/isogram/README.md +0 -1
  205. data/tracks/java/exercises/kindergarten-garden/README.md +0 -1
  206. data/tracks/java/exercises/largest-series-product/README.md +0 -1
  207. data/tracks/java/exercises/linked-list/README.md +0 -1
  208. data/tracks/java/exercises/list-ops/README.md +0 -1
  209. data/tracks/java/exercises/luhn/README.md +0 -1
  210. data/tracks/java/exercises/matrix/README.md +0 -1
  211. data/tracks/java/exercises/meetup/README.md +0 -1
  212. data/tracks/java/exercises/minesweeper/README.md +0 -1
  213. data/tracks/java/exercises/nth-prime/README.md +0 -1
  214. data/tracks/java/exercises/nucleotide-count/README.md +0 -1
  215. data/tracks/java/exercises/ocr-numbers/README.md +0 -1
  216. data/tracks/java/exercises/octal/README.md +0 -1
  217. data/tracks/java/exercises/palindrome-products/README.md +0 -1
  218. data/tracks/java/exercises/pangram/README.md +0 -1
  219. data/tracks/java/exercises/pascals-triangle/README.md +0 -1
  220. data/tracks/java/exercises/perfect-numbers/README.md +0 -1
  221. data/tracks/java/exercises/phone-number/README.md +0 -1
  222. data/tracks/java/exercises/pig-latin/README.md +0 -1
  223. data/tracks/java/exercises/poker/README.md +0 -1
  224. data/tracks/java/exercises/prime-factors/README.md +0 -1
  225. data/tracks/java/exercises/pythagorean-triplet/README.md +0 -1
  226. data/tracks/java/exercises/queen-attack/README.md +0 -1
  227. data/tracks/java/exercises/raindrops/README.md +0 -1
  228. data/tracks/java/exercises/rectangles/README.md +0 -1
  229. data/tracks/java/exercises/rna-transcription/README.md +0 -1
  230. data/tracks/java/exercises/robot-name/README.md +0 -1
  231. data/tracks/java/exercises/robot-simulator/README.md +0 -1
  232. data/tracks/java/exercises/roman-numerals/README.md +0 -1
  233. data/tracks/java/exercises/rotational-cipher/README.md +47 -0
  234. data/tracks/java/exercises/run-length-encoding/README.md +0 -1
  235. data/tracks/java/exercises/saddle-points/README.md +0 -1
  236. data/tracks/java/exercises/scrabble-score/README.md +0 -1
  237. data/tracks/java/exercises/secret-handshake/README.md +0 -1
  238. data/tracks/java/exercises/series/README.md +0 -1
  239. data/tracks/java/exercises/sieve/README.md +0 -1
  240. data/tracks/java/exercises/simple-cipher/README.md +0 -1
  241. data/tracks/java/exercises/simple-linked-list/README.md +0 -1
  242. data/tracks/java/exercises/space-age/README.md +0 -1
  243. data/tracks/java/exercises/spiral-matrix/README.md +0 -1
  244. data/tracks/java/exercises/strain/README.md +0 -1
  245. data/tracks/java/exercises/sublist/README.md +0 -1
  246. data/tracks/java/exercises/sum-of-multiples/README.md +0 -1
  247. data/tracks/java/exercises/transpose/README.md +0 -1
  248. data/tracks/java/exercises/triangle/README.md +0 -1
  249. data/tracks/java/exercises/trinary/README.md +0 -1
  250. data/tracks/java/exercises/twelve-days/README.md +0 -1
  251. data/tracks/java/exercises/two-fer/README.md +0 -1
  252. data/tracks/java/exercises/word-count/README.md +0 -1
  253. data/tracks/java/exercises/word-search/README.md +0 -1
  254. data/tracks/java/exercises/wordy/README.md +0 -1
  255. data/tracks/javascript/config/exercise_readme.go.tmpl +16 -0
  256. data/tracks/javascript/exercises/accumulate/README.md +59 -0
  257. data/tracks/javascript/exercises/acronym/README.md +39 -0
  258. data/tracks/javascript/exercises/all-your-base/README.md +59 -0
  259. data/tracks/javascript/exercises/allergies/README.md +61 -0
  260. data/tracks/javascript/exercises/alphametics/README.md +59 -0
  261. data/tracks/javascript/exercises/anagram/README.md +37 -0
  262. data/tracks/javascript/exercises/atbash-cipher/README.md +58 -0
  263. data/tracks/javascript/exercises/beer-song/README.md +351 -0
  264. data/tracks/javascript/exercises/binary/README.md +59 -0
  265. data/tracks/javascript/exercises/binary-search/README.md +65 -0
  266. data/tracks/javascript/exercises/binary-search-tree/README.md +84 -0
  267. data/tracks/javascript/exercises/bob/README.md +42 -0
  268. data/tracks/javascript/exercises/bowling/README.md +77 -0
  269. data/tracks/javascript/exercises/bracket-push/README.md +34 -0
  270. data/tracks/javascript/exercises/circular-buffer/README.md +74 -0
  271. data/tracks/javascript/exercises/clock/README.md +37 -0
  272. data/tracks/javascript/exercises/crypto-square/README.md +98 -0
  273. data/tracks/javascript/exercises/custom-set/README.md +35 -0
  274. data/tracks/javascript/exercises/diamond/README.md +83 -0
  275. data/tracks/javascript/exercises/difference-of-squares/README.md +43 -0
  276. data/tracks/javascript/exercises/etl/README.md +75 -0
  277. data/tracks/javascript/exercises/flatten-array/README.md +42 -0
  278. data/tracks/javascript/exercises/food-chain/README.md +94 -0
  279. data/tracks/javascript/exercises/gigasecond/README.md +35 -0
  280. data/tracks/javascript/exercises/grade-school/README.md +66 -0
  281. data/tracks/javascript/exercises/grains/README.md +58 -0
  282. data/tracks/javascript/exercises/hamming/README.md +66 -0
  283. data/tracks/javascript/exercises/hello-world/README.md +132 -0
  284. data/tracks/javascript/exercises/hexadecimal/README.md +38 -0
  285. data/tracks/javascript/exercises/isogram/README.md +43 -0
  286. data/tracks/javascript/exercises/kindergarten-garden/README.md +90 -0
  287. data/tracks/javascript/exercises/largest-series-product/README.md +44 -0
  288. data/tracks/javascript/exercises/leap/README.md +57 -0
  289. data/tracks/javascript/exercises/linked-list/README.md +58 -0
  290. data/tracks/javascript/exercises/list-ops/README.md +34 -0
  291. data/tracks/javascript/exercises/luhn/README.md +95 -0
  292. data/tracks/javascript/exercises/matrix/README.md +69 -0
  293. data/tracks/javascript/exercises/meetup/README.md +54 -0
  294. data/tracks/javascript/exercises/minesweeper/README.md +54 -0
  295. data/tracks/javascript/exercises/nth-prime/README.md +39 -0
  296. data/tracks/javascript/exercises/nucleotide-count/README.md +57 -0
  297. data/tracks/javascript/exercises/ocr-numbers/README.md +109 -0
  298. data/tracks/javascript/exercises/octal/README.md +73 -0
  299. data/tracks/javascript/exercises/palindrome-products/README.md +64 -0
  300. data/tracks/javascript/exercises/pangram/README.md +39 -0
  301. data/tracks/javascript/exercises/pascals-triangle/README.md +45 -0
  302. data/tracks/javascript/exercises/perfect-numbers/README.md +48 -0
  303. data/tracks/javascript/exercises/phone-number/README.md +58 -0
  304. data/tracks/javascript/exercises/pig-latin/README.md +48 -0
  305. data/tracks/javascript/exercises/point-mutations/README.md +65 -0
  306. data/tracks/javascript/exercises/prime-factors/README.md +60 -0
  307. data/tracks/javascript/exercises/proverb/README.md +42 -0
  308. data/tracks/javascript/exercises/pythagorean-triplet/README.md +48 -0
  309. data/tracks/javascript/exercises/queen-attack/README.md +57 -0
  310. data/tracks/javascript/exercises/raindrops/README.md +48 -0
  311. data/tracks/javascript/exercises/rna-transcription/README.md +49 -0
  312. data/tracks/javascript/exercises/robot-name/README.md +46 -0
  313. data/tracks/javascript/exercises/robot-simulator/README.md +58 -0
  314. data/tracks/javascript/exercises/roman-numerals/README.md +73 -0
  315. data/tracks/javascript/exercises/run-length-encoding/README.md +54 -0
  316. data/tracks/javascript/exercises/saddle-points/README.md +57 -0
  317. data/tracks/javascript/exercises/say/README.md +93 -0
  318. data/tracks/javascript/exercises/scrabble-score/README.md +68 -0
  319. data/tracks/javascript/exercises/secret-handshake/README.md +59 -0
  320. data/tracks/javascript/exercises/series/README.md +51 -0
  321. data/tracks/javascript/exercises/sieve/README.md +58 -0
  322. data/tracks/javascript/exercises/simple-cipher/README.md +114 -0
  323. data/tracks/javascript/exercises/simple-linked-list/README.md +52 -0
  324. data/tracks/javascript/exercises/space-age/README.md +48 -0
  325. data/tracks/javascript/exercises/strain/README.md +64 -0
  326. data/tracks/javascript/exercises/sum-of-multiples/README.md +42 -0
  327. data/tracks/javascript/exercises/triangle/README.md +50 -0
  328. data/tracks/javascript/exercises/trinary/README.md +52 -0
  329. data/tracks/javascript/exercises/two-bucket/README.md +60 -0
  330. data/tracks/javascript/exercises/word-count/README.md +43 -0
  331. data/tracks/javascript/exercises/wordy/README.md +87 -0
  332. data/tracks/lua/config/exercise_readme.go.tmpl +16 -0
  333. data/tracks/lua/exercises/acronym/README.md +25 -0
  334. data/tracks/lua/exercises/all-your-base/README.md +45 -0
  335. data/tracks/lua/exercises/allergies/README.md +47 -0
  336. data/tracks/lua/exercises/alphametics/README.md +45 -0
  337. data/tracks/lua/exercises/anagram/README.md +23 -0
  338. data/tracks/lua/exercises/atbash-cipher/README.md +44 -0
  339. data/tracks/lua/exercises/bank-account/README.md +40 -0
  340. data/tracks/lua/exercises/beer-song/README.md +337 -0
  341. data/tracks/lua/exercises/binary/README.md +45 -0
  342. data/tracks/lua/exercises/binary-search/README.md +51 -0
  343. data/tracks/lua/exercises/binary-search-tree/README.md +70 -0
  344. data/tracks/lua/exercises/bob/README.md +28 -0
  345. data/tracks/lua/exercises/bowling/README.md +63 -0
  346. data/tracks/lua/exercises/bracket-push/README.md +20 -0
  347. data/tracks/lua/exercises/change/README.md +33 -0
  348. data/tracks/lua/exercises/circular-buffer/README.md +60 -0
  349. data/tracks/lua/exercises/clock/README.md +23 -0
  350. data/tracks/lua/exercises/crypto-square/README.md +84 -0
  351. data/tracks/lua/exercises/custom-set/README.md +21 -0
  352. data/tracks/lua/exercises/diamond/README.md +69 -0
  353. data/tracks/lua/exercises/difference-of-squares/README.md +29 -0
  354. data/tracks/lua/exercises/etl/README.md +61 -0
  355. data/tracks/lua/exercises/flatten-array/README.md +28 -0
  356. data/tracks/lua/exercises/food-chain/README.md +80 -0
  357. data/tracks/lua/exercises/gigasecond/README.md +21 -0
  358. data/tracks/lua/exercises/grade-school/README.md +52 -0
  359. data/tracks/lua/exercises/grains/README.md +44 -0
  360. data/tracks/lua/exercises/hamming/README.md +52 -0
  361. data/tracks/lua/exercises/hello-world/README.md +31 -0
  362. data/tracks/lua/exercises/house/README.md +123 -0
  363. data/tracks/lua/exercises/isogram/README.md +29 -0
  364. data/tracks/lua/exercises/kindergarten-garden/README.md +76 -0
  365. data/tracks/lua/exercises/largest-series-product/README.md +30 -0
  366. data/tracks/lua/exercises/leap/README.md +43 -0
  367. data/tracks/lua/exercises/linked-list/README.md +44 -0
  368. data/tracks/lua/exercises/list-ops/README.md +20 -0
  369. data/tracks/lua/exercises/luhn/README.md +81 -0
  370. data/tracks/lua/exercises/matrix/README.md +55 -0
  371. data/tracks/lua/exercises/meetup/README.md +40 -0
  372. data/tracks/lua/exercises/minesweeper/README.md +40 -0
  373. data/tracks/lua/exercises/nth-prime/README.md +25 -0
  374. data/tracks/lua/exercises/nucleotide-count/README.md +43 -0
  375. data/tracks/lua/exercises/ocr-numbers/README.md +95 -0
  376. data/tracks/lua/exercises/octal/README.md +59 -0
  377. data/tracks/lua/exercises/pangram/README.md +25 -0
  378. data/tracks/lua/exercises/pascals-triangle/README.md +31 -0
  379. data/tracks/lua/exercises/perfect-numbers/README.md +34 -0
  380. data/tracks/lua/exercises/phone-number/README.md +44 -0
  381. data/tracks/lua/exercises/pig-latin/README.md +34 -0
  382. data/tracks/lua/exercises/pov/README.md +56 -0
  383. data/tracks/lua/exercises/prime-factors/README.md +46 -0
  384. data/tracks/lua/exercises/protein-translation/README.md +59 -0
  385. data/tracks/lua/exercises/pythagorean-triplet/README.md +34 -0
  386. data/tracks/lua/exercises/rail-fence-cipher/README.md +70 -0
  387. data/tracks/lua/exercises/raindrops/README.md +34 -0
  388. data/tracks/lua/exercises/rectangles/README.md +77 -0
  389. data/tracks/lua/exercises/rna-transcription/README.md +35 -0
  390. data/tracks/lua/exercises/robot-name/README.md +32 -0
  391. data/tracks/lua/exercises/robot-simulator/README.md +44 -0
  392. data/tracks/lua/exercises/roman-numerals/README.md +59 -0
  393. data/tracks/lua/exercises/run-length-encoding/README.md +40 -0
  394. data/tracks/lua/exercises/say/README.md +79 -0
  395. data/tracks/lua/exercises/scrabble-score/README.md +54 -0
  396. data/tracks/lua/exercises/secret-handshake/README.md +45 -0
  397. data/tracks/lua/exercises/series/README.md +37 -0
  398. data/tracks/lua/exercises/sieve/README.md +44 -0
  399. data/tracks/lua/exercises/space-age/README.md +34 -0
  400. data/tracks/lua/exercises/sublist/README.md +31 -0
  401. data/tracks/lua/exercises/sum-of-multiples/README.md +28 -0
  402. data/tracks/lua/exercises/tournament/README.md +78 -0
  403. data/tracks/lua/exercises/transpose/README.md +75 -0
  404. data/tracks/lua/exercises/triangle/README.md +36 -0
  405. data/tracks/lua/exercises/variable-length-quantity/README.md +49 -0
  406. data/tracks/lua/exercises/word-count/README.md +29 -0
  407. data/tracks/lua/exercises/word-search/README.md +40 -0
  408. data/tracks/mips/config/exercise_readme.go.tmpl +16 -0
  409. data/tracks/mips/exercises/atbash-cipher/README.md +34 -0
  410. data/tracks/mips/exercises/binary/README.md +35 -0
  411. data/tracks/mips/exercises/difference-of-squares/README.md +19 -0
  412. data/tracks/mips/exercises/hamming/README.md +42 -0
  413. data/tracks/mips/exercises/hexadecimal/README.md +14 -0
  414. data/tracks/mips/exercises/isogram/README.md +19 -0
  415. data/tracks/mips/exercises/leap/README.md +33 -0
  416. data/tracks/mips/exercises/nth-prime/README.md +15 -0
  417. data/tracks/mips/exercises/octal/README.md +49 -0
  418. data/tracks/mips/exercises/raindrops/README.md +24 -0
  419. data/tracks/mips/exercises/rna-transcription/README.md +25 -0
  420. data/tracks/mips/exercises/scrabble-score/README.md +44 -0
  421. data/tracks/mips/exercises/triangle/README.md +26 -0
  422. data/tracks/mips/exercises/trinary/README.md +28 -0
  423. data/tracks/purescript/config/exercise_readme.go.tmpl +16 -0
  424. data/tracks/purescript/exercises/accumulate/README.md +35 -0
  425. data/tracks/purescript/exercises/acronym/README.md +15 -0
  426. data/tracks/purescript/exercises/all-your-base/README.md +35 -0
  427. data/tracks/purescript/exercises/allergies/README.md +37 -0
  428. data/tracks/purescript/exercises/atbash-cipher/README.md +34 -0
  429. data/tracks/purescript/exercises/binary-search/README.md +41 -0
  430. data/tracks/purescript/exercises/bob/README.md +18 -0
  431. data/tracks/purescript/exercises/bracket-push/README.md +10 -0
  432. data/tracks/purescript/exercises/crypto-square/README.md +74 -0
  433. data/tracks/purescript/exercises/diamond/README.md +59 -0
  434. data/tracks/purescript/exercises/difference-of-squares/README.md +19 -0
  435. data/tracks/purescript/exercises/etl/README.md +51 -0
  436. data/tracks/purescript/exercises/hamming/README.md +42 -0
  437. data/tracks/purescript/exercises/hello-world/README.md +21 -0
  438. data/tracks/purescript/exercises/isogram/README.md +19 -0
  439. data/tracks/purescript/exercises/largest-series-product/README.md +20 -0
  440. data/tracks/purescript/exercises/leap/README.md +33 -0
  441. data/tracks/purescript/exercises/meetup/README.md +30 -0
  442. data/tracks/purescript/exercises/pangram/README.md +15 -0
  443. data/tracks/purescript/exercises/pascals-triangle/README.md +21 -0
  444. data/tracks/purescript/exercises/raindrops/README.md +24 -0
  445. data/tracks/purescript/exercises/scrabble-score/README.md +44 -0
  446. data/tracks/purescript/exercises/triangle/README.md +26 -0
  447. data/tracks/purescript/exercises/word-count/README.md +19 -0
  448. data/tracks/r/config/exercise_readme.go.tmpl +16 -0
  449. data/tracks/r/exercises/anagram/README.md +23 -0
  450. data/tracks/r/exercises/beer-song/README.md +337 -0
  451. data/tracks/r/exercises/bob/README.md +28 -0
  452. data/tracks/r/exercises/difference-of-squares/README.md +29 -0
  453. data/tracks/r/exercises/grains/README.md +44 -0
  454. data/tracks/r/exercises/hamming/README.md +52 -0
  455. data/tracks/r/exercises/hello-world/README.md +31 -0
  456. data/tracks/r/exercises/isogram/README.md +29 -0
  457. data/tracks/r/exercises/largest-series-product/README.md +30 -0
  458. data/tracks/r/exercises/leap/README.md +43 -0
  459. data/tracks/r/exercises/luhn/README.md +81 -0
  460. data/tracks/r/exercises/pascals-triangle/README.md +31 -0
  461. data/tracks/r/exercises/perfect-numbers/README.md +34 -0
  462. data/tracks/r/exercises/phone-number/README.md +44 -0
  463. data/tracks/r/exercises/prime-factors/README.md +46 -0
  464. data/tracks/r/exercises/raindrops/README.md +34 -0
  465. data/tracks/r/exercises/rna-transcription/README.md +35 -0
  466. data/tracks/r/exercises/rotational-cipher/README.md +46 -0
  467. data/tracks/r/exercises/scrabble-score/README.md +54 -0
  468. data/tracks/r/exercises/secret-handshake/README.md +45 -0
  469. data/tracks/r/exercises/sieve/README.md +44 -0
  470. data/tracks/r/exercises/space-age/README.md +34 -0
  471. data/tracks/r/exercises/sum-of-multiples/README.md +28 -0
  472. data/tracks/r/exercises/tournament/README.md +78 -0
  473. data/tracks/r/exercises/word-count/README.md +29 -0
  474. data/tracks/rust/{docs/EXERCISE_README_INSERT.md → config/exercise-readme-insert.md} +1 -1
  475. data/tracks/rust/config/exercise_readme.go.tmpl +16 -0
  476. data/tracks/rust/exercises/acronym/README.md +47 -0
  477. data/tracks/rust/exercises/all-your-base/README.md +67 -0
  478. data/tracks/rust/exercises/allergies/README.md +69 -0
  479. data/tracks/rust/exercises/alphametics/README.md +67 -0
  480. data/tracks/rust/exercises/anagram/README.md +45 -0
  481. data/tracks/rust/exercises/atbash-cipher/README.md +66 -0
  482. data/tracks/rust/exercises/beer-song/README.md +359 -0
  483. data/tracks/rust/exercises/bob/README.md +50 -0
  484. data/tracks/rust/exercises/bowling/README.md +85 -0
  485. data/tracks/rust/exercises/bracket-push/README.md +50 -0
  486. data/tracks/rust/exercises/circular-buffer/README.md +82 -0
  487. data/tracks/rust/exercises/custom-set/README.md +43 -0
  488. data/tracks/rust/exercises/difference-of-squares/README.md +51 -0
  489. data/tracks/rust/exercises/dominoes/README.md +50 -0
  490. data/tracks/rust/exercises/etl/README.md +83 -0
  491. data/tracks/rust/exercises/forth/README.md +61 -0
  492. data/tracks/rust/exercises/gigasecond/Cargo.lock +3 -3
  493. data/tracks/rust/exercises/gigasecond/Cargo.toml +1 -1
  494. data/tracks/rust/exercises/gigasecond/README.md +43 -0
  495. data/tracks/rust/exercises/gigasecond/example.rs +1 -1
  496. data/tracks/rust/exercises/gigasecond/src/lib.rs +2 -2
  497. data/tracks/rust/exercises/gigasecond/tests/gigasecond.rs +10 -10
  498. data/tracks/rust/exercises/grade-school/README.md +74 -0
  499. data/tracks/rust/exercises/grains/README.md +66 -0
  500. data/tracks/rust/exercises/hamming/README.md +74 -0
  501. data/tracks/rust/exercises/hello-world/README.md +53 -0
  502. data/tracks/rust/exercises/hexadecimal/README.md +46 -0
  503. data/tracks/rust/exercises/largest-series-product/README.md +60 -0
  504. data/tracks/rust/exercises/leap/README.md +65 -0
  505. data/tracks/rust/exercises/luhn/README.md +103 -0
  506. data/tracks/rust/exercises/luhn-from/README.md +49 -0
  507. data/tracks/rust/exercises/luhn-trait/README.md +57 -0
  508. data/tracks/rust/exercises/minesweeper/README.md +62 -0
  509. data/tracks/rust/exercises/nucleotide-codons/README.md +54 -0
  510. data/tracks/rust/exercises/nucleotide-count/README.md +65 -0
  511. data/tracks/rust/exercises/ocr-numbers/README.md +117 -0
  512. data/tracks/rust/exercises/pangram/README.md +47 -0
  513. data/tracks/rust/exercises/parallel-letter-frequency/README.md +77 -0
  514. data/tracks/rust/exercises/pascals-triangle/README.md +53 -0
  515. data/tracks/rust/exercises/phone-number/README.md +66 -0
  516. data/tracks/rust/exercises/protein-translation/README.md +81 -0
  517. data/tracks/rust/exercises/queen-attack/README.md +65 -0
  518. data/tracks/rust/exercises/raindrops/README.md +56 -0
  519. data/tracks/rust/exercises/react/README.md +51 -0
  520. data/tracks/rust/exercises/rectangles/README.md +99 -0
  521. data/tracks/rust/exercises/rna-transcription/README.md +57 -0
  522. data/tracks/rust/exercises/robot-name/README.md +54 -0
  523. data/tracks/rust/exercises/robot-simulator/README.md +66 -0
  524. data/tracks/rust/exercises/roman-numerals/README.md +81 -0
  525. data/tracks/rust/exercises/rotational-cipher/README.md +68 -0
  526. data/tracks/rust/exercises/run-length-encoding/README.md +62 -0
  527. data/tracks/rust/exercises/scrabble-score/README.md +76 -0
  528. data/tracks/rust/exercises/sieve/README.md +66 -0
  529. data/tracks/rust/exercises/space-age/README.md +64 -0
  530. data/tracks/rust/exercises/sublist/README.md +53 -0
  531. data/tracks/rust/exercises/sum-of-multiples/README.md +50 -0
  532. data/tracks/rust/exercises/tournament/README.md +100 -0
  533. data/tracks/rust/exercises/triangle/README.md +71 -0
  534. data/tracks/rust/exercises/variable-length-quantity/README.md +71 -0
  535. data/tracks/rust/exercises/word-count/README.md +51 -0
  536. data/tracks/rust/exercises/wordy/README.md +95 -0
  537. data/tracks/vimscript/config/exercise_readme.go.tmpl +16 -0
  538. data/tracks/vimscript/exercises/allergies/README.md +46 -0
  539. data/tracks/vimscript/exercises/anagram/README.md +22 -0
  540. data/tracks/vimscript/exercises/atbash-cipher/README.md +43 -0
  541. data/tracks/vimscript/exercises/beer-song/README.md +336 -0
  542. data/tracks/vimscript/exercises/bob/README.md +27 -0
  543. data/tracks/vimscript/exercises/difference-of-squares/README.md +28 -0
  544. data/tracks/vimscript/exercises/etl/README.md +60 -0
  545. data/tracks/vimscript/exercises/hamming/README.md +51 -0
  546. data/tracks/vimscript/exercises/hello-world/README.md +30 -0
  547. data/tracks/vimscript/exercises/largest-series-product/README.md +29 -0
  548. data/tracks/vimscript/exercises/leap/README.md +42 -0
  549. data/tracks/vimscript/exercises/nucleotide-count/README.md +42 -0
  550. data/tracks/vimscript/exercises/pangram/README.md +24 -0
  551. data/tracks/vimscript/exercises/phone-number/README.md +43 -0
  552. data/tracks/vimscript/exercises/raindrops/README.md +33 -0
  553. data/tracks/vimscript/exercises/rna-transcription/README.md +34 -0
  554. data/tracks/vimscript/exercises/roman-numerals/README.md +58 -0
  555. data/tracks/vimscript/exercises/scrabble-score/README.md +53 -0
  556. data/tracks/vimscript/exercises/triangle/README.md +35 -0
  557. data/tracks/vimscript/exercises/word-count/README.md +28 -0
  558. metadata +466 -86
  559. data/tracks/java/exercises/anagram/.meta/readme.go.tmpl +0 -17
  560. data/tracks/java/exercises/atbash-cipher/.meta/readme.go.tmpl +0 -17
  561. data/tracks/java/exercises/bank-account/.meta/readme.go.tmpl +0 -17
  562. data/tracks/java/exercises/beer-song/.meta/readme.go.tmpl +0 -17
  563. data/tracks/java/exercises/binary/.meta/readme.go.tmpl +0 -17
  564. data/tracks/java/exercises/binary-search/.meta/readme.go.tmpl +0 -17
  565. data/tracks/java/exercises/binary-search-tree/.meta/readme.go.tmpl +0 -17
  566. data/tracks/java/exercises/bob/.meta/readme.go.tmpl +0 -17
  567. data/tracks/java/exercises/book-store/.meta/readme.go.tmpl +0 -17
  568. data/tracks/java/exercises/bowling/.meta/readme.go.tmpl +0 -17
  569. data/tracks/java/exercises/bracket-push/.meta/readme.go.tmpl +0 -17
  570. data/tracks/java/exercises/change/.meta/readme.go.tmpl +0 -17
  571. data/tracks/java/exercises/circular-buffer/.meta/readme.go.tmpl +0 -17
  572. data/tracks/java/exercises/clock/.meta/readme.go.tmpl +0 -17
  573. data/tracks/java/exercises/collatz-conjecture/.meta/readme.go.tmpl +0 -17
  574. data/tracks/java/exercises/complex-numbers/.meta/readme.go.tmpl +0 -17
  575. data/tracks/java/exercises/crypto-square/.meta/readme.go.tmpl +0 -17
  576. data/tracks/java/exercises/custom-set/.meta/readme.go.tmpl +0 -17
  577. data/tracks/java/exercises/diamond/.meta/readme.go.tmpl +0 -17
  578. data/tracks/java/exercises/difference-of-squares/.meta/readme.go.tmpl +0 -17
  579. data/tracks/java/exercises/etl/.meta/readme.go.tmpl +0 -17
  580. data/tracks/java/exercises/flatten-array/.meta/readme.go.tmpl +0 -17
  581. data/tracks/java/exercises/food-chain/.meta/readme.go.tmpl +0 -17
  582. data/tracks/java/exercises/gigasecond/.meta/readme.go.tmpl +0 -17
  583. data/tracks/java/exercises/grade-school/.meta/readme.go.tmpl +0 -17
  584. data/tracks/java/exercises/hamming/.meta/readme.go.tmpl +0 -17
  585. data/tracks/java/exercises/hello-world/.meta/readme.go.tmpl +0 -17
  586. data/tracks/java/exercises/hexadecimal/.meta/readme.go.tmpl +0 -17
  587. data/tracks/java/exercises/isogram/.meta/readme.go.tmpl +0 -17
  588. data/tracks/java/exercises/kindergarten-garden/.meta/readme.go.tmpl +0 -17
  589. data/tracks/java/exercises/largest-series-product/.meta/readme.go.tmpl +0 -17
  590. data/tracks/java/exercises/linked-list/.meta/readme.go.tmpl +0 -17
  591. data/tracks/java/exercises/list-ops/.meta/readme.go.tmpl +0 -17
  592. data/tracks/java/exercises/luhn/.meta/readme.go.tmpl +0 -17
  593. data/tracks/java/exercises/matrix/.meta/readme.go.tmpl +0 -17
  594. data/tracks/java/exercises/meetup/.meta/readme.go.tmpl +0 -17
  595. data/tracks/java/exercises/minesweeper/.meta/readme.go.tmpl +0 -17
  596. data/tracks/java/exercises/nth-prime/.meta/readme.go.tmpl +0 -17
  597. data/tracks/java/exercises/nucleotide-count/.meta/readme.go.tmpl +0 -17
  598. data/tracks/java/exercises/ocr-numbers/.meta/readme.go.tmpl +0 -17
  599. data/tracks/java/exercises/octal/.meta/readme.go.tmpl +0 -17
  600. data/tracks/java/exercises/palindrome-products/.meta/readme.go.tmpl +0 -17
  601. data/tracks/java/exercises/pangram/.meta/readme.go.tmpl +0 -17
  602. data/tracks/java/exercises/pascals-triangle/.meta/readme.go.tmpl +0 -17
  603. data/tracks/java/exercises/perfect-numbers/.meta/readme.go.tmpl +0 -17
  604. data/tracks/java/exercises/phone-number/.meta/readme.go.tmpl +0 -17
  605. data/tracks/java/exercises/pig-latin/.meta/readme.go.tmpl +0 -17
  606. data/tracks/java/exercises/poker/.meta/readme.go.tmpl +0 -17
  607. data/tracks/java/exercises/prime-factors/.meta/readme.go.tmpl +0 -17
  608. data/tracks/java/exercises/pythagorean-triplet/.meta/readme.go.tmpl +0 -17
  609. data/tracks/java/exercises/queen-attack/.meta/readme.go.tmpl +0 -17
  610. data/tracks/java/exercises/raindrops/.meta/readme.go.tmpl +0 -17
  611. data/tracks/java/exercises/rectangles/.meta/readme.go.tmpl +0 -17
  612. data/tracks/java/exercises/rna-transcription/.meta/readme.go.tmpl +0 -17
  613. data/tracks/java/exercises/robot-name/.meta/readme.go.tmpl +0 -17
  614. data/tracks/java/exercises/robot-simulator/.meta/readme.go.tmpl +0 -17
  615. data/tracks/java/exercises/roman-numerals/.meta/readme.go.tmpl +0 -17
  616. data/tracks/java/exercises/run-length-encoding/.meta/readme.go.tmpl +0 -17
  617. data/tracks/java/exercises/saddle-points/.meta/readme.go.tmpl +0 -17
  618. data/tracks/java/exercises/scrabble-score/.meta/readme.go.tmpl +0 -17
  619. data/tracks/java/exercises/secret-handshake/.meta/readme.go.tmpl +0 -17
  620. data/tracks/java/exercises/series/.meta/readme.go.tmpl +0 -17
  621. data/tracks/java/exercises/sieve/.meta/readme.go.tmpl +0 -17
  622. data/tracks/java/exercises/simple-cipher/.meta/readme.go.tmpl +0 -17
  623. data/tracks/java/exercises/simple-linked-list/.meta/readme.go.tmpl +0 -17
  624. data/tracks/java/exercises/space-age/.meta/readme.go.tmpl +0 -17
  625. data/tracks/java/exercises/spiral-matrix/.meta/readme.go.tmpl +0 -17
  626. data/tracks/java/exercises/strain/.meta/readme.go.tmpl +0 -17
  627. data/tracks/java/exercises/sublist/.meta/readme.go.tmpl +0 -17
  628. data/tracks/java/exercises/sum-of-multiples/.meta/readme.go.tmpl +0 -17
  629. data/tracks/java/exercises/transpose/.meta/readme.go.tmpl +0 -17
  630. data/tracks/java/exercises/triangle/.meta/readme.go.tmpl +0 -17
  631. data/tracks/java/exercises/trinary/.meta/readme.go.tmpl +0 -17
  632. data/tracks/java/exercises/twelve-days/.meta/readme.go.tmpl +0 -17
  633. data/tracks/java/exercises/two-fer/.meta/readme.go.tmpl +0 -17
  634. data/tracks/java/exercises/word-count/.meta/readme.go.tmpl +0 -17
  635. data/tracks/java/exercises/word-search/.meta/readme.go.tmpl +0 -17
  636. data/tracks/java/exercises/wordy/.meta/readme.go.tmpl +0 -17
@@ -0,0 +1,34 @@
1
+ # Raindrops
2
+
3
+ Convert a number to a string, the contents of which depend on the number's factors.
4
+
5
+ - If the number has 3 as a factor, output 'Pling'.
6
+ - If the number has 5 as a factor, output 'Plang'.
7
+ - If the number has 7 as a factor, output 'Plong'.
8
+ - If the number does not have 3, 5, or 7 as a factor,
9
+ just pass the number's digits straight through.
10
+
11
+ ## Examples
12
+
13
+ - 28's factors are 1, 2, 4, **7**, 14, 28.
14
+ - In raindrop-speak, this would be a simple "Plong".
15
+ - 30's factors are 1, 2, **3**, **5**, 6, 10, 15, 30.
16
+ - In raindrop-speak, this would be a "PlingPlang".
17
+ - 34 has four factors: 1, 2, 17, and 34.
18
+ - In raindrop-speak, this would be "34".
19
+
20
+ ## Running the tests
21
+
22
+ To run the tests, run the command `busted .` from within the exercise directory.
23
+
24
+ ## Further information
25
+
26
+ For more detailed information about the Lua track, including how to get help if
27
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
28
+
29
+ ## Source
30
+
31
+ A variation on a famous interview question intended to weed out potential candidates. [http://jumpstartlab.com](http://jumpstartlab.com)
32
+
33
+ ## Submitting Incomplete Solutions
34
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,77 @@
1
+ # Rectangles
2
+
3
+ Count the rectangles in an ASCII diagram like the one below.
4
+
5
+ ```
6
+ +--+
7
+ ++ |
8
+ +-++--+
9
+ | | |
10
+ +--+--+
11
+ ```
12
+
13
+ The above diagram contains 6 rectangles:
14
+
15
+ ```
16
+
17
+
18
+ +-----+
19
+ | |
20
+ +-----+
21
+ ```
22
+
23
+ ```
24
+ +--+
25
+ | |
26
+ | |
27
+ | |
28
+ +--+
29
+ ```
30
+
31
+ ```
32
+ +--+
33
+ | |
34
+ +--+
35
+
36
+
37
+ ```
38
+
39
+ ```
40
+
41
+
42
+ +--+
43
+ | |
44
+ +--+
45
+ ```
46
+
47
+ ```
48
+
49
+
50
+ +--+
51
+ | |
52
+ +--+
53
+ ```
54
+
55
+ ```
56
+
57
+ ++
58
+ ++
59
+
60
+
61
+ ```
62
+
63
+ You may assume that the input is always a proper rectangle (i.e. the length of
64
+ every line equals the length of the first line).
65
+
66
+ ## Running the tests
67
+
68
+ To run the tests, run the command `busted .` from within the exercise directory.
69
+
70
+ ## Further information
71
+
72
+ For more detailed information about the Lua track, including how to get help if
73
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
74
+
75
+
76
+ ## Submitting Incomplete Solutions
77
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ # Rna Transcription
2
+
3
+ Given a DNA strand, return its RNA complement (per RNA transcription).
4
+
5
+ Both DNA and RNA strands are a sequence of nucleotides.
6
+
7
+ The four nucleotides found in DNA are adenine (**A**), cytosine (**C**),
8
+ guanine (**G**) and thymine (**T**).
9
+
10
+ The four nucleotides found in RNA are adenine (**A**), cytosine (**C**),
11
+ guanine (**G**) and uracil (**U**).
12
+
13
+ Given a DNA strand, its transcribed RNA strand is formed by replacing
14
+ each nucleotide with its complement:
15
+
16
+ * `G` -> `C`
17
+ * `C` -> `G`
18
+ * `T` -> `A`
19
+ * `A` -> `U`
20
+
21
+ ## Running the tests
22
+
23
+ To run the tests, run the command `busted .` from within the exercise directory.
24
+
25
+ ## Further information
26
+
27
+ For more detailed information about the Lua track, including how to get help if
28
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
29
+
30
+ ## Source
31
+
32
+ Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
33
+
34
+ ## Submitting Incomplete Solutions
35
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,32 @@
1
+ # Robot Name
2
+
3
+ Manage robot factory settings.
4
+
5
+ When robots come off the factory floor, they have no name.
6
+
7
+ The first time you boot them up, a random name is generated in the format
8
+ of two uppercase letters followed by three digits, such as RX837 or BC811.
9
+
10
+ Every once in a while we need to reset a robot to its factory settings,
11
+ which means that their name gets wiped. The next time you ask, it will
12
+ respond with a new random name.
13
+
14
+ The names must be random: they should not follow a predictable sequence.
15
+ Random names means a risk of collisions. Your solution must ensure that
16
+ every existing robot has a unique name.
17
+
18
+ ## Running the tests
19
+
20
+ To run the tests, run the command `busted .` from within the exercise directory.
21
+
22
+ ## Further information
23
+
24
+ For more detailed information about the Lua track, including how to get help if
25
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
26
+
27
+ ## Source
28
+
29
+ A debugging session with Paul Blackwell at gSchool. [http://gschool.it](http://gschool.it)
30
+
31
+ ## Submitting Incomplete Solutions
32
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,44 @@
1
+ # Robot Simulator
2
+
3
+ Write a robot simulator.
4
+
5
+ A robot factory's test facility needs a program to verify robot movements.
6
+
7
+ The robots have three possible movements:
8
+
9
+ - turn right
10
+ - turn left
11
+ - advance
12
+
13
+ Robots are placed on a hypothetical infinite grid, facing a particular
14
+ direction (north, east, south, or west) at a set of {x,y} coordinates,
15
+ e.g., {3,8}, with coordinates increasing to the north and east.
16
+
17
+ The robot then receives a number of instructions, at which point the
18
+ testing facility verifies the robot's new position, and in which
19
+ direction it is pointing.
20
+
21
+ - The letter-string "RAALAL" means:
22
+ - Turn right
23
+ - Advance twice
24
+ - Turn left
25
+ - Advance once
26
+ - Turn left yet again
27
+ - Say a robot starts at {7, 3} facing north. Then running this stream
28
+ of instructions should leave it at {9, 4} facing west.
29
+
30
+ ## Running the tests
31
+
32
+ To run the tests, run the command `busted .` from within the exercise directory.
33
+
34
+ ## Further information
35
+
36
+ For more detailed information about the Lua track, including how to get help if
37
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
38
+
39
+ ## Source
40
+
41
+ Inspired by an interview question at a famous company.
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,59 @@
1
+ # Roman Numerals
2
+
3
+ Write a function to convert from normal numbers to Roman Numerals.
4
+
5
+ The Romans were a clever bunch. They conquered most of Europe and ruled
6
+ it for hundreds of years. They invented concrete and straight roads and
7
+ even bikinis. One thing they never discovered though was the number
8
+ zero. This made writing and dating extensive histories of their exploits
9
+ slightly more challenging, but the system of numbers they came up with
10
+ is still in use today. For example the BBC uses Roman numerals to date
11
+ their programmes.
12
+
13
+ The Romans wrote numbers using letters - I, V, X, L, C, D, M. (notice
14
+ these letters have lots of straight lines and are hence easy to hack
15
+ into stone tablets).
16
+
17
+ ```
18
+ 1 => I
19
+ 10 => X
20
+ 7 => VII
21
+ ```
22
+
23
+ There is no need to be able to convert numbers larger than about 3000.
24
+ (The Romans themselves didn't tend to go any higher)
25
+
26
+ Wikipedia says: Modern Roman numerals ... are written by expressing each
27
+ digit separately starting with the left most digit and skipping any
28
+ digit with a value of zero.
29
+
30
+ To see this in practice, consider the example of 1990.
31
+
32
+ In Roman numerals 1990 is MCMXC:
33
+
34
+ 1000=M
35
+ 900=CM
36
+ 90=XC
37
+
38
+ 2008 is written as MMVIII:
39
+
40
+ 2000=MM
41
+ 8=VIII
42
+
43
+ See also: http://www.novaroma.org/via_romana/numbers.html
44
+
45
+ ## Running the tests
46
+
47
+ To run the tests, run the command `busted .` from within the exercise directory.
48
+
49
+ ## Further information
50
+
51
+ For more detailed information about the Lua track, including how to get help if
52
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
53
+
54
+ ## Source
55
+
56
+ The Roman Numeral Kata [http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals](http://codingdojo.org/cgi-bin/index.pl?KataRomanNumerals)
57
+
58
+ ## Submitting Incomplete Solutions
59
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,40 @@
1
+ # Run Length Encoding
2
+
3
+ Implement run-length encoding and decoding.
4
+
5
+ Run-length encoding (RLE) is a simple form of data compression, where runs
6
+ (consecutive data elements) are replaced by just one data value and count.
7
+
8
+ For example we can represent the original 53 characters with only 13.
9
+
10
+ ```
11
+ "WWWWWWWWWWWWBWWWWWWWWWWWWBBBWWWWWWWWWWWWWWWWWWWWWWWWB" -> "12WB12W3B24WB"
12
+ ```
13
+
14
+ RLE allows the original data to be perfectly reconstructed from
15
+ the compressed data, which makes it a lossless data compression.
16
+
17
+ ```
18
+ "AABCCCDEEEE" -> "2AB3CD4E" -> "AABCCCDEEEE"
19
+ ```
20
+
21
+ For simplicity, you can assume that the unencoded string will only contain
22
+ the letters A through Z (either lower or upper case) and whitespace. This way
23
+ data to be encoded will never contain any numbers and numbers inside data to
24
+ be decoded always represent the count for the following character.
25
+
26
+ ## Running the tests
27
+
28
+ To run the tests, run the command `busted .` from within the exercise directory.
29
+
30
+ ## Further information
31
+
32
+ For more detailed information about the Lua track, including how to get help if
33
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
34
+
35
+ ## Source
36
+
37
+ Wikipedia [https://en.wikipedia.org/wiki/Run-length_encoding](https://en.wikipedia.org/wiki/Run-length_encoding)
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,79 @@
1
+ # Say
2
+
3
+ Given a number from 0 to 999,999,999,999, spell out that number in English.
4
+
5
+ ## Step 1
6
+
7
+ Handle the basic case of 0 through 99.
8
+
9
+ If the input to the program is `22`, then the output should be
10
+ `'twenty-two'`.
11
+
12
+ Your program should complain loudly if given a number outside the
13
+ blessed range.
14
+
15
+ Some good test cases for this program are:
16
+
17
+ - 0
18
+ - 14
19
+ - 50
20
+ - 98
21
+ - -1
22
+ - 100
23
+
24
+ ### Extension
25
+
26
+ If you're on a Mac, shell out to Mac OS X's `say` program to talk out
27
+ loud.
28
+
29
+ ## Step 2
30
+
31
+ Implement breaking a number up into chunks of thousands.
32
+
33
+ So `1234567890` should yield a list like 1, 234, 567, and 890, while the
34
+ far simpler `1000` should yield just 1 and 0.
35
+
36
+ The program must also report any values that are out of range.
37
+
38
+ ## Step 3
39
+
40
+ Now handle inserting the appropriate scale word between those chunks.
41
+
42
+ So `1234567890` should yield `'1 billion 234 million 567 thousand 890'`
43
+
44
+ The program must also report any values that are out of range. It's
45
+ fine to stop at "trillion".
46
+
47
+ ## Step 4
48
+
49
+ Put it all together to get nothing but plain English.
50
+
51
+ `12345` should give `twelve thousand three hundred forty-five`.
52
+
53
+ The program must also report any values that are out of range.
54
+
55
+ ### Extensions
56
+
57
+ Use _and_ (correctly) when spelling out the number in English:
58
+
59
+ - 14 becomes "fourteen".
60
+ - 100 becomes "one hundred".
61
+ - 120 becomes "one hundred and twenty".
62
+ - 1002 becomes "one thousand and two".
63
+ - 1323 becomes "one thousand three hundred and twenty-three".
64
+
65
+ ## Running the tests
66
+
67
+ To run the tests, run the command `busted .` from within the exercise directory.
68
+
69
+ ## Further information
70
+
71
+ For more detailed information about the Lua track, including how to get help if
72
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
73
+
74
+ ## Source
75
+
76
+ A variation on JavaRanch CattleDrive, exercise 4a [http://www.javaranch.com/say.jsp](http://www.javaranch.com/say.jsp)
77
+
78
+ ## Submitting Incomplete Solutions
79
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,54 @@
1
+ # Scrabble Score
2
+
3
+ Given a word, compute the scrabble score for that word.
4
+
5
+ ## Letter Values
6
+
7
+ You'll need these:
8
+
9
+ ```plain
10
+ Letter Value
11
+ A, E, I, O, U, L, N, R, S, T 1
12
+ D, G 2
13
+ B, C, M, P 3
14
+ F, H, V, W, Y 4
15
+ K 5
16
+ J, X 8
17
+ Q, Z 10
18
+ ```
19
+
20
+ ## Examples
21
+ "cabbage" should be scored as worth 14 points:
22
+
23
+ - 3 points for C
24
+ - 1 point for A, twice
25
+ - 3 points for B, twice
26
+ - 2 points for G
27
+ - 1 point for E
28
+
29
+ And to total:
30
+
31
+ - `3 + 2*1 + 2*3 + 2 + 1`
32
+ - = `3 + 2 + 6 + 3`
33
+ - = `5 + 9`
34
+ - = 14
35
+
36
+ ## Extensions
37
+ - You can play a double or a triple letter.
38
+ - You can play a double or a triple word.
39
+
40
+ ## Running the tests
41
+
42
+ To run the tests, run the command `busted .` from within the exercise directory.
43
+
44
+ ## Further information
45
+
46
+ For more detailed information about the Lua track, including how to get help if
47
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
48
+
49
+ ## Source
50
+
51
+ Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
52
+
53
+ ## Submitting Incomplete Solutions
54
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,45 @@
1
+ # Secret Handshake
2
+
3
+ > There are 10 types of people in the world: Those who understand
4
+ > binary, and those who don't.
5
+
6
+ You and your fellow cohort of those in the "know" when it comes to
7
+ binary decide to come up with a secret "handshake".
8
+
9
+ ```
10
+ 1 = wink
11
+ 10 = double blink
12
+ 100 = close your eyes
13
+ 1000 = jump
14
+
15
+
16
+ 10000 = Reverse the order of the operations in the secret handshake.
17
+ ```
18
+
19
+ Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
20
+
21
+ Here's a couple of examples:
22
+
23
+ Given the input 3, the function would return the array
24
+ ["wink", "double blink"] because 3 is 11 in binary.
25
+
26
+ Given the input 19, the function would return the array
27
+ ["double blink", "wink"] because 19 is 10011 in binary.
28
+ Notice that the addition of 16 (10000 in binary)
29
+ has caused the array to be reversed.
30
+
31
+ ## Running the tests
32
+
33
+ To run the tests, run the command `busted .` from within the exercise directory.
34
+
35
+ ## Further information
36
+
37
+ For more detailed information about the Lua track, including how to get help if
38
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
39
+
40
+ ## Source
41
+
42
+ Bert, in Mary Poppins [http://www.imdb.com/character/ch0011238/quotes](http://www.imdb.com/character/ch0011238/quotes)
43
+
44
+ ## Submitting Incomplete Solutions
45
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,37 @@
1
+ # Series
2
+
3
+ Given a string of digits, output all the contiguous substrings of length `n` in
4
+ that string.
5
+
6
+ For example, the string "49142" has the following 3-digit series:
7
+
8
+ - 491
9
+ - 914
10
+ - 142
11
+
12
+ And the following 4-digit series:
13
+
14
+ - 4914
15
+ - 9142
16
+
17
+ And if you ask for a 6-digit series from a 5-digit string, you deserve
18
+ whatever you get.
19
+
20
+ Note that these series are only required to occupy *adjacent positions*
21
+ in the input; the digits need not be *numerically consecutive*.
22
+
23
+ ## Running the tests
24
+
25
+ To run the tests, run the command `busted .` from within the exercise directory.
26
+
27
+ ## Further information
28
+
29
+ For more detailed information about the Lua track, including how to get help if
30
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
31
+
32
+ ## Source
33
+
34
+ A subset of the Problem 8 at Project Euler [http://projecteuler.net/problem=8](http://projecteuler.net/problem=8)
35
+
36
+ ## Submitting Incomplete Solutions
37
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,44 @@
1
+ # Sieve
2
+
3
+ Use the Sieve of Eratosthenes to find all the primes from 2 up to a given
4
+ number.
5
+
6
+ The Sieve of Eratosthenes is a simple, ancient algorithm for finding all
7
+ prime numbers up to any given limit. It does so by iteratively marking as
8
+ composite (i.e. not prime) the multiples of each prime,
9
+ starting with the multiples of 2.
10
+
11
+ Create your range, starting at two and continuing up to and including the given limit. (i.e. [2, limit])
12
+
13
+ The algorithm consists of repeating the following over and over:
14
+
15
+ - take the next available unmarked number in your list (it is prime)
16
+ - mark all the multiples of that number (they are not prime)
17
+
18
+ Repeat until you have processed each number in your range.
19
+
20
+ When the algorithm terminates, all the numbers in the list that have not
21
+ been marked are prime.
22
+
23
+ The wikipedia article has a useful graphic that explains the algorithm:
24
+ https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes
25
+
26
+ Notice that this is a very specific algorithm, and the tests don't check
27
+ that you've implemented the algorithm, only that you've come up with the
28
+ correct list of primes.
29
+
30
+ ## Running the tests
31
+
32
+ To run the tests, run the command `busted .` from within the exercise directory.
33
+
34
+ ## Further information
35
+
36
+ For more detailed information about the Lua track, including how to get help if
37
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
38
+
39
+ ## Source
40
+
41
+ Sieve of Eratosthenes at Wikipedia [http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes](http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes)
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,34 @@
1
+ # Space Age
2
+
3
+ Given an age in seconds, calculate how old someone would be on:
4
+
5
+ - Earth: orbital period 365.25 Earth days, or 31557600 seconds
6
+ - Mercury: orbital period 0.2408467 Earth years
7
+ - Venus: orbital period 0.61519726 Earth years
8
+ - Mars: orbital period 1.8808158 Earth years
9
+ - Jupiter: orbital period 11.862615 Earth years
10
+ - Saturn: orbital period 29.447498 Earth years
11
+ - Uranus: orbital period 84.016846 Earth years
12
+ - Neptune: orbital period 164.79132 Earth years
13
+
14
+ So if you were told someone were 1,000,000,000 seconds old, you should
15
+ be able to say that they're 31 Earth-years old.
16
+
17
+ If you're wondering why Pluto didn't make the cut, go watch [this
18
+ youtube video](http://www.youtube.com/watch?v=Z_2gbGXzFbs).
19
+
20
+ ## Running the tests
21
+
22
+ To run the tests, run the command `busted .` from within the exercise directory.
23
+
24
+ ## Further information
25
+
26
+ For more detailed information about the Lua track, including how to get help if
27
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
28
+
29
+ ## Source
30
+
31
+ Partially inspired by Chapter 1 in Chris Pine's online Learn to Program tutorial. [http://pine.fm/LearnToProgram/?Chapter=01](http://pine.fm/LearnToProgram/?Chapter=01)
32
+
33
+ ## Submitting Incomplete Solutions
34
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,31 @@
1
+ # Sublist
2
+
3
+ Given two lists determine if the first list is contained within the second
4
+ list, if the second list is contained within the first list, if both lists are
5
+ contained within each other or if none of these are true.
6
+
7
+ Specifically, a list A is a sublist of list B if by dropping 0 or more elements
8
+ from the front of B and 0 or more elements from the back of B you get a list
9
+ that's completely equal to A.
10
+
11
+ Examples:
12
+
13
+ * A = [1, 2, 3], B = [1, 2, 3, 4, 5], A is a sublist of B
14
+ * A = [3, 4, 5], B = [1, 2, 3, 4, 5], A is a sublist of B
15
+ * A = [3, 4], B = [1, 2, 3, 4, 5], A is a sublist of B
16
+ * A = [1, 2, 3], B = [1, 2, 3], A is equal to B
17
+ * A = [1, 2, 3, 4, 5], B = [2, 3, 4], A is a superlist of B
18
+ * A = [1, 2, 4], B = [1, 2, 3, 4, 5], A is not a superlist of, sublist of or equal to B
19
+
20
+ ## Running the tests
21
+
22
+ To run the tests, run the command `busted .` from within the exercise directory.
23
+
24
+ ## Further information
25
+
26
+ For more detailed information about the Lua track, including how to get help if
27
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
28
+
29
+
30
+ ## Submitting Incomplete Solutions
31
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,28 @@
1
+ # Sum Of Multiples
2
+
3
+ Given a number, find the sum of all the multiples of particular numbers up to
4
+ but not including that number.
5
+
6
+ If we list all the natural numbers up to but not including 20 that are
7
+ multiples of either 3 or 5, we get 3, 5, 6 and 9, 10, 12, 15, and 18.
8
+
9
+ The sum of these multiples is 78.
10
+
11
+ Given a number, find the sum of the multiples of a given set of numbers,
12
+ up to but not including that number.
13
+
14
+ ## Running the tests
15
+
16
+ To run the tests, run the command `busted .` from within the exercise directory.
17
+
18
+ ## Further information
19
+
20
+ For more detailed information about the Lua track, including how to get help if
21
+ you're having trouble, please visit the exercism.io [Lua language page](http://exercism.io/languages/lua/about).
22
+
23
+ ## Source
24
+
25
+ A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
26
+
27
+ ## Submitting Incomplete Solutions
28
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.