trackler 2.2.1.4 → 2.2.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (442) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/tracks/bash/config.json +10 -0
  4. data/tracks/bash/exercises/error-handling/error_handling_test.sh +31 -0
  5. data/tracks/bash/exercises/error-handling/example.sh +9 -0
  6. data/tracks/ceylon/config/maintainers.json +25 -0
  7. data/tracks/chapel/README.md +1 -1
  8. data/tracks/chapel/config/exercise_readme.go.tmpl +16 -0
  9. data/tracks/chapel/config/maintainers.json +5 -0
  10. data/tracks/chapel/config.json +0 -5
  11. data/tracks/coffeescript/config/exercise_readme.go.tmpl +16 -0
  12. data/tracks/coffeescript/config.json +84 -26
  13. data/tracks/coffeescript/exercises/accumulate/README.md +43 -0
  14. data/tracks/coffeescript/exercises/anagram/README.md +21 -0
  15. data/tracks/coffeescript/exercises/atbash-cipher/README.md +42 -0
  16. data/tracks/coffeescript/exercises/beer-song/README.md +335 -0
  17. data/tracks/coffeescript/exercises/binary/README.md +43 -0
  18. data/tracks/coffeescript/exercises/binary-search-tree/README.md +68 -0
  19. data/tracks/coffeescript/exercises/bob/README.md +26 -0
  20. data/tracks/coffeescript/exercises/clock/README.md +21 -0
  21. data/tracks/coffeescript/exercises/hello-world/README.md +29 -0
  22. data/tracks/coffeescript/exercises/hexadecimal/README.md +22 -0
  23. data/tracks/coffeescript/exercises/linked-list/README.md +42 -0
  24. data/tracks/coffeescript/exercises/luhn/README.md +79 -0
  25. data/tracks/coffeescript/exercises/nth-prime/README.md +23 -0
  26. data/tracks/coffeescript/exercises/nucleotide-count/README.md +41 -0
  27. data/tracks/coffeescript/exercises/palindrome-products/README.md +48 -0
  28. data/tracks/coffeescript/exercises/pascals-triangle/README.md +29 -0
  29. data/tracks/coffeescript/exercises/queen-attack/README.md +41 -0
  30. data/tracks/coffeescript/exercises/triangle/README.md +34 -0
  31. data/tracks/coffeescript/exercises/trinary/README.md +36 -0
  32. data/tracks/coffeescript/exercises/word-count/README.md +27 -0
  33. data/tracks/coffeescript/exercises/wordy/README.md +71 -0
  34. data/tracks/coldfusion/config/exercise_readme.go.tmpl +16 -0
  35. data/tracks/coldfusion/config.json +4 -6
  36. data/tracks/coldfusion/exercises/leap/README.md +33 -0
  37. data/tracks/coq/README.md +19 -32
  38. data/tracks/coq/config/exercise_readme.go.tmpl +16 -0
  39. data/tracks/coq/config.json +9 -5
  40. data/tracks/coq/exercises/hello-world/README.md +45 -0
  41. data/tracks/coq/exercises/rna-transcription/README.md +49 -0
  42. data/tracks/coq/exercises/tautology/README.md +33 -0
  43. data/tracks/cpp/config/exercise_readme.go.tmpl +16 -0
  44. data/tracks/cpp/config.json +144 -41
  45. data/tracks/cpp/exercises/allergies/README.md +69 -0
  46. data/tracks/cpp/exercises/anagram/README.md +45 -0
  47. data/tracks/cpp/exercises/atbash-cipher/README.md +66 -0
  48. data/tracks/cpp/exercises/beer-song/README.md +359 -0
  49. data/tracks/cpp/exercises/binary/README.md +67 -0
  50. data/tracks/cpp/exercises/bob/README.md +50 -0
  51. data/tracks/cpp/exercises/clock/README.md +45 -0
  52. data/tracks/cpp/exercises/crypto-square/README.md +106 -0
  53. data/tracks/cpp/exercises/difference-of-squares/README.md +51 -0
  54. data/tracks/cpp/exercises/etl/README.md +83 -0
  55. data/tracks/cpp/exercises/food-chain/README.md +102 -0
  56. data/tracks/cpp/exercises/gigasecond/README.md +43 -0
  57. data/tracks/cpp/exercises/grade-school/README.md +74 -0
  58. data/tracks/cpp/exercises/grains/README.md +66 -0
  59. data/tracks/cpp/exercises/hamming/README.md +74 -0
  60. data/tracks/cpp/exercises/hello-world/README.md +53 -0
  61. data/tracks/cpp/exercises/hexadecimal/README.md +46 -0
  62. data/tracks/cpp/exercises/leap/README.md +65 -0
  63. data/tracks/cpp/exercises/meetup/README.md +62 -0
  64. data/tracks/cpp/exercises/nth-prime/README.md +47 -0
  65. data/tracks/cpp/exercises/nucleotide-count/README.md +65 -0
  66. data/tracks/cpp/exercises/phone-number/README.md +66 -0
  67. data/tracks/cpp/exercises/prime-factors/README.md +68 -0
  68. data/tracks/cpp/exercises/queen-attack/README.md +65 -0
  69. data/tracks/cpp/exercises/raindrops/README.md +56 -0
  70. data/tracks/cpp/exercises/rna-transcription/README.md +57 -0
  71. data/tracks/cpp/exercises/robot-name/README.md +54 -0
  72. data/tracks/cpp/exercises/roman-numerals/README.md +81 -0
  73. data/tracks/cpp/exercises/say/README.md +101 -0
  74. data/tracks/cpp/exercises/scrabble-score/README.md +76 -0
  75. data/tracks/cpp/exercises/series/README.md +59 -0
  76. data/tracks/cpp/exercises/sieve/README.md +66 -0
  77. data/tracks/cpp/exercises/space-age/README.md +56 -0
  78. data/tracks/cpp/exercises/sum-of-multiples/README.md +50 -0
  79. data/tracks/cpp/exercises/triangle/README.md +58 -0
  80. data/tracks/cpp/exercises/trinary/README.md +60 -0
  81. data/tracks/cpp/exercises/word-count/README.md +51 -0
  82. data/tracks/crystal/config.json +69 -3
  83. data/tracks/d/config/exercise_readme.go.tmpl +16 -0
  84. data/tracks/d/config.json +54 -3
  85. data/tracks/d/exercises/bob/README.md +49 -0
  86. data/tracks/d/exercises/circular-buffer/README.md +81 -0
  87. data/tracks/d/exercises/crypto-square/README.md +105 -0
  88. data/tracks/d/exercises/difference-of-squares/README.md +50 -0
  89. data/tracks/d/exercises/etl/README.md +82 -0
  90. data/tracks/d/exercises/gigasecond/README.md +42 -0
  91. data/tracks/d/exercises/hamming/README.md +73 -0
  92. data/tracks/d/exercises/hello-world/README.md +52 -0
  93. data/tracks/d/exercises/leap/README.md +64 -0
  94. data/tracks/d/exercises/nucleotide-count/README.md +64 -0
  95. data/tracks/d/exercises/pangram/README.md +46 -0
  96. data/tracks/d/exercises/raindrops/README.md +55 -0
  97. data/tracks/d/exercises/react/README.md +50 -0
  98. data/tracks/d/exercises/rna-transcription/README.md +56 -0
  99. data/tracks/d/exercises/robot-name/README.md +53 -0
  100. data/tracks/d/exercises/roman-numerals/README.md +80 -0
  101. data/tracks/d/exercises/series/README.md +58 -0
  102. data/tracks/d/exercises/triangle/README.md +57 -0
  103. data/tracks/delphi/config/maintainers.json +25 -0
  104. data/tracks/ecmascript/config/maintainers.json +35 -0
  105. data/tracks/elisp/config/exercise_readme.go.tmpl +16 -0
  106. data/tracks/elisp/config.json +79 -22
  107. data/tracks/elisp/exercises/allergies/README.md +37 -0
  108. data/tracks/elisp/exercises/anagram/README.md +13 -0
  109. data/tracks/elisp/exercises/atbash-cipher/README.md +34 -0
  110. data/tracks/elisp/exercises/binary/README.md +35 -0
  111. data/tracks/elisp/exercises/bob/README.md +18 -0
  112. data/tracks/elisp/exercises/difference-of-squares/README.md +19 -0
  113. data/tracks/elisp/exercises/etl/README.md +51 -0
  114. data/tracks/elisp/exercises/gigasecond/README.md +11 -0
  115. data/tracks/elisp/exercises/grains/README.md +34 -0
  116. data/tracks/elisp/exercises/hamming/README.md +42 -0
  117. data/tracks/elisp/exercises/hello-world/README.md +21 -0
  118. data/tracks/elisp/exercises/leap/README.md +33 -0
  119. data/tracks/elisp/exercises/nucleotide-count/README.md +33 -0
  120. data/tracks/elisp/exercises/perfect-numbers/README.md +24 -0
  121. data/tracks/elisp/exercises/phone-number/README.md +34 -0
  122. data/tracks/elisp/exercises/raindrops/README.md +24 -0
  123. data/tracks/elisp/exercises/rna-transcription/README.md +25 -0
  124. data/tracks/elisp/exercises/robot-name/README.md +22 -0
  125. data/tracks/elisp/exercises/roman-numerals/README.md +49 -0
  126. data/tracks/elisp/exercises/word-count/README.md +19 -0
  127. data/tracks/elixir/config/maintainers.json +35 -0
  128. data/tracks/elm/config/exercise_readme.go.tmpl +16 -0
  129. data/tracks/elm/config.json +96 -5
  130. data/tracks/elm/exercises/accumulate/README.md +65 -0
  131. data/tracks/elm/exercises/allergies/README.md +67 -0
  132. data/tracks/elm/exercises/anagram/README.md +43 -0
  133. data/tracks/elm/exercises/atbash-cipher/README.md +64 -0
  134. data/tracks/elm/exercises/bob/README.md +48 -0
  135. data/tracks/elm/exercises/difference-of-squares/README.md +49 -0
  136. data/tracks/elm/exercises/etl/README.md +81 -0
  137. data/tracks/elm/exercises/gigasecond/README.md +41 -0
  138. data/tracks/elm/exercises/grade-school/README.md +72 -0
  139. data/tracks/elm/exercises/grains/README.md +64 -0
  140. data/tracks/elm/exercises/hamming/README.md +72 -0
  141. data/tracks/elm/exercises/hello-world/README.md +51 -0
  142. data/tracks/elm/exercises/largest-series-product/README.md +50 -0
  143. data/tracks/elm/exercises/leap/README.md +63 -0
  144. data/tracks/elm/exercises/list-ops/README.md +40 -0
  145. data/tracks/elm/exercises/nucleotide-count/README.md +63 -0
  146. data/tracks/elm/exercises/pangram/README.md +45 -0
  147. data/tracks/elm/exercises/phone-number/README.md +64 -0
  148. data/tracks/elm/exercises/raindrops/README.md +54 -0
  149. data/tracks/elm/exercises/rna-transcription/README.md +55 -0
  150. data/tracks/elm/exercises/robot-simulator/README.md +64 -0
  151. data/tracks/elm/exercises/roman-numerals/README.md +79 -0
  152. data/tracks/elm/exercises/run-length-encoding/README.md +60 -0
  153. data/tracks/elm/exercises/say/README.md +99 -0
  154. data/tracks/elm/exercises/scrabble-score/README.md +74 -0
  155. data/tracks/elm/exercises/series/README.md +57 -0
  156. data/tracks/elm/exercises/space-age/README.md +54 -0
  157. data/tracks/elm/exercises/strain/README.md +70 -0
  158. data/tracks/elm/exercises/sublist/README.md +51 -0
  159. data/tracks/elm/exercises/sum-of-multiples/README.md +48 -0
  160. data/tracks/elm/exercises/triangle/README.md +56 -0
  161. data/tracks/elm/exercises/word-count/README.md +49 -0
  162. data/tracks/fortran/config/exercise_readme.go.tmpl +16 -0
  163. data/tracks/fortran/config.json +21 -5
  164. data/tracks/fortran/exercises/bob/README.md +18 -0
  165. data/tracks/fortran/exercises/difference-of-squares/README.md +19 -0
  166. data/tracks/fortran/exercises/hamming/README.md +42 -0
  167. data/tracks/fortran/exercises/hello-world/README.md +21 -0
  168. data/tracks/fortran/exercises/pangram/README.md +15 -0
  169. data/tracks/fortran/exercises/raindrops/README.md +24 -0
  170. data/tracks/fortran/exercises/rna-transcription/README.md +25 -0
  171. data/tracks/go/config/maintainers.json +85 -0
  172. data/tracks/go/config.json +2 -2
  173. data/tracks/groovy/config/exercise_readme.go.tmpl +16 -0
  174. data/tracks/groovy/exercises/difference-of-squares/README.md +33 -0
  175. data/tracks/groovy/exercises/gigasecond/README.md +25 -0
  176. data/tracks/groovy/exercises/grains/README.md +48 -0
  177. data/tracks/groovy/exercises/hamming/README.md +56 -0
  178. data/tracks/groovy/exercises/hello-world/README.md +35 -0
  179. data/tracks/groovy/exercises/leap/README.md +47 -0
  180. data/tracks/groovy/exercises/nth-prime/README.md +29 -0
  181. data/tracks/groovy/exercises/phone-number/README.md +48 -0
  182. data/tracks/groovy/exercises/raindrops/README.md +38 -0
  183. data/tracks/groovy/exercises/rna-transcription/README.md +39 -0
  184. data/tracks/groovy/exercises/robot-name/README.md +36 -0
  185. data/tracks/groovy/exercises/roman-numerals/README.md +63 -0
  186. data/tracks/groovy/exercises/word-count/README.md +33 -0
  187. data/tracks/haxe/config/exercise_readme.go.tmpl +16 -0
  188. data/tracks/haxe/config.json +0 -2
  189. data/tracks/haxe/exercises/bob/README.md +18 -0
  190. data/tracks/haxe/exercises/hello-world/README.md +21 -0
  191. data/tracks/idris/config/exercise_readme.go.tmpl +16 -0
  192. data/tracks/idris/config.json +9 -3
  193. data/tracks/idris/exercises/hamming/README.md +42 -0
  194. data/tracks/idris/exercises/hello-world/README.md +21 -0
  195. data/tracks/idris/exercises/leap/README.md +33 -0
  196. data/tracks/java/config/maintainers.json +45 -0
  197. data/tracks/java/exercises/hello-world/TUTORIAL.md +1 -1
  198. data/tracks/javascript/config/maintainers.json +85 -0
  199. data/tracks/julia/config/exercise_readme.go.tmpl +16 -0
  200. data/tracks/julia/config.json +81 -5
  201. data/tracks/julia/exercises/anagram/README.md +13 -0
  202. data/tracks/julia/exercises/atbash-cipher/README.md +34 -0
  203. data/tracks/julia/exercises/bob/README.md +18 -0
  204. data/tracks/julia/exercises/complex-numbers/README.md +24 -0
  205. data/tracks/julia/exercises/custom-set/README.md +16 -0
  206. data/tracks/julia/exercises/difference-of-squares/README.md +19 -0
  207. data/tracks/julia/exercises/etl/README.md +51 -0
  208. data/tracks/julia/exercises/gigasecond/README.md +11 -0
  209. data/tracks/julia/exercises/hamming/README.md +42 -0
  210. data/tracks/julia/exercises/hello-world/README.md +21 -0
  211. data/tracks/julia/exercises/isogram/README.md +19 -0
  212. data/tracks/julia/exercises/leap/README.md +33 -0
  213. data/tracks/julia/exercises/luhn/README.md +71 -0
  214. data/tracks/julia/exercises/nucleotide-count/README.md +33 -0
  215. data/tracks/julia/exercises/pangram/README.md +15 -0
  216. data/tracks/julia/exercises/pascals-triangle/README.md +21 -0
  217. data/tracks/julia/exercises/raindrops/README.md +24 -0
  218. data/tracks/julia/exercises/rna-transcription/README.md +25 -0
  219. data/tracks/julia/exercises/robot-name/README.md +41 -0
  220. data/tracks/julia/exercises/roman-numerals/README.md +49 -0
  221. data/tracks/julia/exercises/rotational-cipher/README.md +59 -0
  222. data/tracks/julia/exercises/scrabble-score/README.md +44 -0
  223. data/tracks/julia/exercises/secret-handshake/README.md +35 -0
  224. data/tracks/julia/exercises/sieve/README.md +34 -0
  225. data/tracks/julia/exercises/transpose/README.md +65 -0
  226. data/tracks/julia/exercises/trinary/README.md +28 -0
  227. data/tracks/julia/exercises/word-count/README.md +19 -0
  228. data/tracks/lfe/config/exercise_readme.go.tmpl +16 -0
  229. data/tracks/lfe/config.json +125 -33
  230. data/tracks/lfe/exercises/accumulate/README.md +51 -0
  231. data/tracks/lfe/exercises/allergies/README.md +53 -0
  232. data/tracks/lfe/exercises/anagram/README.md +29 -0
  233. data/tracks/lfe/exercises/atbash-cipher/README.md +50 -0
  234. data/tracks/lfe/exercises/bank-account/README.md +46 -0
  235. data/tracks/lfe/exercises/beer-song/README.md +343 -0
  236. data/tracks/lfe/exercises/binary/README.md +51 -0
  237. data/tracks/lfe/exercises/bob/README.md +34 -0
  238. data/tracks/lfe/exercises/circular-buffer/README.md +66 -0
  239. data/tracks/lfe/exercises/clock/README.md +29 -0
  240. data/tracks/lfe/exercises/difference-of-squares/README.md +35 -0
  241. data/tracks/lfe/exercises/etl/README.md +67 -0
  242. data/tracks/lfe/exercises/gigasecond/README.md +27 -0
  243. data/tracks/lfe/exercises/grade-school/README.md +58 -0
  244. data/tracks/lfe/exercises/grains/README.md +50 -0
  245. data/tracks/lfe/exercises/hamming/README.md +58 -0
  246. data/tracks/lfe/exercises/largest-series-product/README.md +36 -0
  247. data/tracks/lfe/exercises/leap/README.md +49 -0
  248. data/tracks/lfe/exercises/luhn/README.md +87 -0
  249. data/tracks/lfe/exercises/meetup/README.md +46 -0
  250. data/tracks/lfe/exercises/nucleotide-count/README.md +49 -0
  251. data/tracks/lfe/exercises/parallel-letter-frequency/README.md +27 -0
  252. data/tracks/lfe/exercises/phone-number/README.md +50 -0
  253. data/tracks/lfe/exercises/rna-transcription/README.md +41 -0
  254. data/tracks/lfe/exercises/robot-simulator/README.md +50 -0
  255. data/tracks/lfe/exercises/series/README.md +43 -0
  256. data/tracks/lfe/exercises/space-age/README.md +40 -0
  257. data/tracks/lfe/exercises/strain/README.md +56 -0
  258. data/tracks/lfe/exercises/sum-of-multiples/README.md +34 -0
  259. data/tracks/lfe/exercises/trinary/README.md +44 -0
  260. data/tracks/lfe/exercises/word-count/README.md +35 -0
  261. data/tracks/lua/config/maintainers.json +35 -0
  262. data/tracks/lua/config.json +225 -3
  263. data/tracks/nasm/config/exercise_readme.go.tmpl +16 -0
  264. data/tracks/nasm/config.json +0 -5
  265. data/tracks/nim/config/exercise_readme.go.tmpl +16 -0
  266. data/tracks/nim/config.json +56 -19
  267. data/tracks/nim/exercises/anagram/README.md +13 -0
  268. data/tracks/nim/exercises/binary/README.md +35 -0
  269. data/tracks/nim/exercises/bob/README.md +18 -0
  270. data/tracks/nim/exercises/difference-of-squares/README.md +19 -0
  271. data/tracks/nim/exercises/hamming/README.md +42 -0
  272. data/tracks/nim/exercises/hello-world/README.md +21 -0
  273. data/tracks/nim/exercises/leap/README.md +33 -0
  274. data/tracks/nim/exercises/nucleotide-count/README.md +33 -0
  275. data/tracks/nim/exercises/queen-attack/README.md +33 -0
  276. data/tracks/nim/exercises/raindrops/README.md +24 -0
  277. data/tracks/nim/exercises/react/README.md +19 -0
  278. data/tracks/nim/exercises/rna-transcription/README.md +25 -0
  279. data/tracks/nim/exercises/triangle/README.md +26 -0
  280. data/tracks/nim/exercises/word-count/README.md +19 -0
  281. data/tracks/objective-c/config/exercise_readme.go.tmpl +16 -0
  282. data/tracks/objective-c/config/maintainers.json +35 -0
  283. data/tracks/objective-c/config.json +168 -47
  284. data/tracks/objective-c/exercises/acronym/README.md +32 -0
  285. data/tracks/objective-c/exercises/all-your-base/README.md +52 -0
  286. data/tracks/objective-c/exercises/allergies/README.md +54 -0
  287. data/tracks/objective-c/exercises/anagram/README.md +30 -0
  288. data/tracks/objective-c/exercises/atbash-cipher/README.md +51 -0
  289. data/tracks/objective-c/exercises/beer-song/README.md +344 -0
  290. data/tracks/objective-c/exercises/binary-search/README.md +58 -0
  291. data/tracks/objective-c/exercises/bob/README.md +35 -0
  292. data/tracks/objective-c/exercises/bracket-push/README.md +27 -0
  293. data/tracks/objective-c/exercises/clock/README.md +30 -0
  294. data/tracks/objective-c/exercises/crypto-square/README.md +91 -0
  295. data/tracks/objective-c/exercises/difference-of-squares/README.md +36 -0
  296. data/tracks/objective-c/exercises/etl/README.md +68 -0
  297. data/tracks/objective-c/exercises/flatten-array/README.md +35 -0
  298. data/tracks/objective-c/exercises/gigasecond/README.md +28 -0
  299. data/tracks/objective-c/exercises/grade-school/README.md +59 -0
  300. data/tracks/objective-c/exercises/hamming/README.md +59 -0
  301. data/tracks/objective-c/exercises/hello-world/README.md +38 -0
  302. data/tracks/objective-c/exercises/isogram/README.md +36 -0
  303. data/tracks/objective-c/exercises/largest-series-product/README.md +37 -0
  304. data/tracks/objective-c/exercises/leap/README.md +50 -0
  305. data/tracks/objective-c/exercises/luhn/README.md +88 -0
  306. data/tracks/objective-c/exercises/meetup/README.md +47 -0
  307. data/tracks/objective-c/exercises/nucleotide-count/README.md +50 -0
  308. data/tracks/objective-c/exercises/pangram/README.md +32 -0
  309. data/tracks/objective-c/exercises/pascals-triangle/README.md +38 -0
  310. data/tracks/objective-c/exercises/perfect-numbers/README.md +41 -0
  311. data/tracks/objective-c/exercises/phone-number/README.md +51 -0
  312. data/tracks/objective-c/exercises/raindrops/README.md +41 -0
  313. data/tracks/objective-c/exercises/rna-transcription/README.md +42 -0
  314. data/tracks/objective-c/exercises/robot-name/README.md +39 -0
  315. data/tracks/objective-c/exercises/roman-numerals/README.md +66 -0
  316. data/tracks/objective-c/exercises/run-length-encoding/README.md +47 -0
  317. data/tracks/objective-c/exercises/scrabble-score/README.md +61 -0
  318. data/tracks/objective-c/exercises/secret-handshake/README.md +52 -0
  319. data/tracks/objective-c/exercises/sieve/README.md +51 -0
  320. data/tracks/objective-c/exercises/space-age/README.md +41 -0
  321. data/tracks/objective-c/exercises/sublist/README.md +38 -0
  322. data/tracks/objective-c/exercises/sum-of-multiples/README.md +35 -0
  323. data/tracks/objective-c/exercises/transpose/README.md +82 -0
  324. data/tracks/objective-c/exercises/triangle/README.md +43 -0
  325. data/tracks/objective-c/exercises/word-count/README.md +36 -0
  326. data/tracks/plsql/config/exercise_readme.go.tmpl +16 -0
  327. data/tracks/plsql/config.json +0 -2
  328. data/tracks/plsql/exercises/binary/README.md +55 -0
  329. data/tracks/plsql/exercises/difference-of-squares/README.md +39 -0
  330. data/tracks/plsql/exercises/gigasecond/README.md +31 -0
  331. data/tracks/plsql/exercises/grains/README.md +54 -0
  332. data/tracks/plsql/exercises/hamming/README.md +62 -0
  333. data/tracks/plsql/exercises/leap/README.md +53 -0
  334. data/tracks/plsql/exercises/nth-prime/README.md +35 -0
  335. data/tracks/plsql/exercises/raindrops/README.md +44 -0
  336. data/tracks/plsql/exercises/rna-transcription/README.md +45 -0
  337. data/tracks/plsql/exercises/roman-numerals/README.md +69 -0
  338. data/tracks/powershell/config.json +8 -5
  339. data/tracks/prolog/config/exercise_readme.go.tmpl +16 -0
  340. data/tracks/prolog/config.json +33 -5
  341. data/tracks/prolog/exercises/anagram/README.md +13 -0
  342. data/tracks/prolog/exercises/binary/README.md +35 -0
  343. data/tracks/prolog/exercises/grains/README.md +34 -0
  344. data/tracks/prolog/exercises/hamming/README.md +42 -0
  345. data/tracks/prolog/exercises/hello-world/README.md +21 -0
  346. data/tracks/prolog/exercises/leap/README.md +33 -0
  347. data/tracks/prolog/exercises/nucleotide-count/README.md +33 -0
  348. data/tracks/prolog/exercises/rna-transcription/README.md +25 -0
  349. data/tracks/prolog/exercises/space-age/README.md +24 -0
  350. data/tracks/prolog/exercises/sum-of-multiples/README.md +18 -0
  351. data/tracks/prolog/exercises/triangle/README.md +26 -0
  352. data/tracks/python/requirements-travis.txt +1 -1
  353. data/tracks/r/config/maintainers.json +35 -0
  354. data/tracks/r/config.json +1 -1
  355. data/tracks/racket/README.md +1 -1
  356. data/tracks/racket/config/exercise_readme.go.tmpl +16 -0
  357. data/tracks/racket/config.json +93 -25
  358. data/tracks/racket/exercises/accumulate/README.md +60 -0
  359. data/tracks/racket/exercises/acronym/README.md +40 -0
  360. data/tracks/racket/exercises/allergies/README.md +62 -0
  361. data/tracks/racket/exercises/anagram/README.md +38 -0
  362. data/tracks/racket/exercises/bob/README.md +43 -0
  363. data/tracks/racket/exercises/difference-of-squares/README.md +44 -0
  364. data/tracks/racket/exercises/etl/README.md +76 -0
  365. data/tracks/racket/exercises/gigasecond/README.md +36 -0
  366. data/tracks/racket/exercises/grains/README.md +59 -0
  367. data/tracks/racket/exercises/grep/README.md +96 -0
  368. data/tracks/racket/exercises/hamming/README.md +67 -0
  369. data/tracks/racket/exercises/hello-world/README.md +46 -0
  370. data/tracks/racket/exercises/leap/README.md +58 -0
  371. data/tracks/racket/exercises/list-ops/README.md +35 -0
  372. data/tracks/racket/exercises/nucleotide-count/README.md +58 -0
  373. data/tracks/racket/exercises/perfect-numbers/README.md +49 -0
  374. data/tracks/racket/exercises/phone-number/README.md +59 -0
  375. data/tracks/racket/exercises/raindrops/README.md +49 -0
  376. data/tracks/racket/exercises/rna-transcription/README.md +50 -0
  377. data/tracks/racket/exercises/roman-numerals/README.md +74 -0
  378. data/tracks/racket/exercises/say/README.md +94 -0
  379. data/tracks/racket/exercises/scrabble-score/README.md +69 -0
  380. data/tracks/racket/exercises/word-count/README.md +44 -0
  381. data/tracks/ruby/exercises/binary-search-tree/.meta/solutions/binary_search_tree.rb +4 -2
  382. data/tracks/ruby/exercises/binary-search-tree/binary_search_tree_test.rb +13 -4
  383. data/tracks/scala/config/maintainers.json +29 -0
  384. data/tracks/scala/exercises/atbash-cipher/example.scala +4 -1
  385. data/tracks/scala/exercises/atbash-cipher/src/test/scala/AtbashCipherTest.scala +64 -0
  386. data/tracks/scala/exercises/roman-numerals/example.scala +2 -2
  387. data/tracks/scala/exercises/roman-numerals/src/test/scala/RomanNumeralsTest.scala +40 -39
  388. data/tracks/scala/testgen/src/main/scala/AtbashCipherTestGenerator.scala +16 -0
  389. data/tracks/scala/testgen/src/main/scala/RomanNumeralsTestGenerator.scala +15 -0
  390. data/tracks/scheme/config/exercise_readme.go.tmpl +16 -0
  391. data/tracks/scheme/config.json +42 -3
  392. data/tracks/scheme/exercises/anagram/README.md +13 -0
  393. data/tracks/scheme/exercises/bob/README.md +18 -0
  394. data/tracks/scheme/exercises/difference-of-squares/README.md +19 -0
  395. data/tracks/scheme/exercises/grains/README.md +34 -0
  396. data/tracks/scheme/exercises/hamming/README.md +42 -0
  397. data/tracks/scheme/exercises/hello-world/README.md +21 -0
  398. data/tracks/scheme/exercises/leap/README.md +33 -0
  399. data/tracks/scheme/exercises/list-ops/README.md +10 -0
  400. data/tracks/scheme/exercises/nucleotide-count/README.md +33 -0
  401. data/tracks/scheme/exercises/phone-number/README.md +34 -0
  402. data/tracks/scheme/exercises/raindrops/README.md +24 -0
  403. data/tracks/scheme/exercises/rna-transcription/README.md +25 -0
  404. data/tracks/scheme/exercises/robot-name/README.md +22 -0
  405. data/tracks/scheme/exercises/scrabble-score/README.md +44 -0
  406. data/tracks/sml/config/maintainers.json +25 -0
  407. data/tracks/typescript/config/exercise_readme.go.tmpl +16 -0
  408. data/tracks/typescript/config/maintainers.json +25 -0
  409. data/tracks/typescript/config.json +0 -2
  410. data/tracks/typescript/exercises/anagram/README.md +39 -0
  411. data/tracks/typescript/exercises/beer-song/README.md +353 -0
  412. data/tracks/typescript/exercises/bob/README.md +44 -0
  413. data/tracks/typescript/exercises/difference-of-squares/README.md +45 -0
  414. data/tracks/typescript/exercises/etl/README.md +77 -0
  415. data/tracks/typescript/exercises/food-chain/README.md +96 -0
  416. data/tracks/typescript/exercises/gigasecond/README.md +37 -0
  417. data/tracks/typescript/exercises/grade-school/README.md +68 -0
  418. data/tracks/typescript/exercises/hamming/README.md +68 -0
  419. data/tracks/typescript/exercises/hello-world/README.md +47 -0
  420. data/tracks/typescript/exercises/leap/README.md +59 -0
  421. data/tracks/typescript/exercises/pangram/README.md +41 -0
  422. data/tracks/typescript/exercises/phone-number/README.md +60 -0
  423. data/tracks/typescript/exercises/raindrops/README.md +50 -0
  424. data/tracks/typescript/exercises/rna-transcription/README.md +51 -0
  425. data/tracks/typescript/exercises/robot-name/README.md +48 -0
  426. data/tracks/typescript/exercises/say/README.md +95 -0
  427. data/tracks/typescript/exercises/scrabble-score/README.md +70 -0
  428. data/tracks/typescript/exercises/space-age/README.md +50 -0
  429. data/tracks/typescript/exercises/word-count/README.md +45 -0
  430. data/tracks/typescript/exercises/wordy/README.md +89 -0
  431. data/tracks/vbnet/config/exercise_readme.go.tmpl +16 -0
  432. data/tracks/vbnet/config.json +28 -12
  433. data/tracks/vbnet/exercises/accumulate/README.md +41 -0
  434. data/tracks/vbnet/exercises/allergies/README.md +43 -0
  435. data/tracks/vbnet/exercises/anagram/README.md +19 -0
  436. data/tracks/vbnet/exercises/atbash-cipher/README.md +40 -0
  437. data/tracks/vbnet/exercises/binary/README.md +41 -0
  438. data/tracks/vbnet/exercises/bob/README.md +24 -0
  439. data/tracks/vbnet/exercises/crypto-square/README.md +80 -0
  440. metadata +401 -4
  441. data/tracks/scala/exercises/atbash-cipher/src/main/scala/Atbash.scala +0 -3
  442. data/tracks/scala/exercises/atbash-cipher/src/test/scala/atbash_test.scala +0 -48
@@ -2,23 +2,26 @@
2
2
  "language": "Windows PowerShell",
3
3
  "checklist_issue": 4,
4
4
  "active": false,
5
- "deprecated": [
6
-
7
- ],
8
5
  "foregone": [
9
6
 
10
7
  ],
11
8
  "exercises": [
12
9
  {
13
- "difficulty": 1,
10
+ "uuid": "83c215e6-4a4e-4302-8d68-47f367478d2c",
14
11
  "slug": "hello-world",
12
+ "core": false,
13
+ "unlocked_by": null,
14
+ "difficulty": 1,
15
15
  "topics": [
16
16
 
17
17
  ]
18
18
  },
19
19
  {
20
- "difficulty": 1,
20
+ "uuid": "f55b2158-a8f0-4593-b44a-6e750ebac0a5",
21
21
  "slug": "hamming",
22
+ "core": false,
23
+ "unlocked_by": null,
24
+ "difficulty": 1,
22
25
  "topics": [
23
26
 
24
27
  ]
@@ -0,0 +1,16 @@
1
+ # {{ .Spec.Name }}
2
+
3
+ {{ .Spec.Description -}}
4
+ {{- with .Hints }}
5
+ {{ . }}
6
+ {{ end }}
7
+ {{- with .TrackInsert }}
8
+ {{ . }}
9
+ {{ end }}
10
+ {{- with .Spec.Credits -}}
11
+ ## Source
12
+
13
+ {{ . }}
14
+ {{ end }}
15
+ ## Submitting Incomplete Solutions
16
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -1,89 +1,117 @@
1
1
  {
2
- "slug": "prolog",
3
2
  "language": "Prolog",
4
- "repository": "https://github.com/exercism/prolog",
5
3
  "active": false,
6
4
  "exercises": [
7
5
  {
6
+ "uuid": "68a85ec5-acdd-4f4f-9b9e-a5e39f1f7ac0",
8
7
  "slug": "hello-world",
8
+ "core": false,
9
+ "unlocked_by": null,
9
10
  "difficulty": 1,
10
11
  "topics": [
11
12
 
12
13
  ]
13
14
  },
14
15
  {
16
+ "uuid": "609b17f6-49d9-4c77-8ec4-99a5ca065163",
15
17
  "slug": "sum-of-multiples",
18
+ "core": false,
19
+ "unlocked_by": null,
16
20
  "difficulty": 1,
17
21
  "topics": [
18
22
 
19
23
  ]
20
24
  },
21
25
  {
26
+ "uuid": "ee8e835f-1cbf-4ff4-a8f2-c641bc4045cc",
22
27
  "slug": "binary",
28
+ "core": false,
29
+ "unlocked_by": null,
23
30
  "difficulty": 1,
24
31
  "topics": [
25
32
 
26
33
  ]
27
34
  },
28
35
  {
36
+ "uuid": "9b6c4536-8f84-46cd-80cc-e80d77803a7b",
29
37
  "slug": "leap",
38
+ "core": false,
39
+ "unlocked_by": null,
30
40
  "difficulty": 1,
31
41
  "topics": [
32
42
 
33
43
  ]
34
44
  },
35
45
  {
46
+ "uuid": "a3c467cd-b2f2-43a8-9a81-d60490645c59",
36
47
  "slug": "triangle",
48
+ "core": false,
49
+ "unlocked_by": null,
37
50
  "difficulty": 1,
38
51
  "topics": [
39
52
 
40
53
  ]
41
54
  },
42
55
  {
56
+ "uuid": "2b72a411-b07f-4e89-bfdf-2ed3fce256fe",
43
57
  "slug": "space-age",
58
+ "core": false,
59
+ "unlocked_by": null,
44
60
  "difficulty": 1,
45
61
  "topics": [
46
62
 
47
63
  ]
48
64
  },
49
65
  {
66
+ "uuid": "acd10394-f609-4047-9f5f-e3303d8ca2fd",
50
67
  "slug": "grains",
68
+ "core": false,
69
+ "unlocked_by": null,
51
70
  "difficulty": 1,
52
71
  "topics": [
53
72
 
54
73
  ]
55
74
  },
56
75
  {
76
+ "uuid": "09ed3b8e-d093-44e2-9f3a-5e5fc3172e71",
57
77
  "slug": "nucleotide-count",
78
+ "core": false,
79
+ "unlocked_by": null,
58
80
  "difficulty": 1,
59
81
  "topics": [
60
82
 
61
83
  ]
62
84
  },
63
85
  {
86
+ "uuid": "8449608f-b55e-452f-b65a-720914dde9af",
64
87
  "slug": "hamming",
88
+ "core": false,
89
+ "unlocked_by": null,
65
90
  "difficulty": 1,
66
91
  "topics": [
67
92
 
68
93
  ]
69
94
  },
70
95
  {
96
+ "uuid": "3e059acb-37dc-44ed-bd06-91c5e1fdd8ba",
71
97
  "slug": "anagram",
98
+ "core": false,
99
+ "unlocked_by": null,
72
100
  "difficulty": 1,
73
101
  "topics": [
74
102
 
75
103
  ]
76
104
  },
77
105
  {
106
+ "uuid": "e5e2ed3c-d93c-4e8f-a395-53ce6d7135f1",
78
107
  "slug": "rna-transcription",
108
+ "core": false,
109
+ "unlocked_by": null,
79
110
  "difficulty": 1,
80
111
  "topics": [
81
112
 
82
113
  ]
83
114
  }
84
- ],
85
- "deprecated": [
86
-
87
115
  ],
88
116
  "foregone": [
89
117
 
@@ -0,0 +1,13 @@
1
+ # Anagram
2
+
3
+ Given a word and a list of possible anagrams, select the correct sublist.
4
+
5
+ Given `"listen"` and a list of candidates like `"enlists" "google"
6
+ "inlets" "banana"` the program should return a list containing
7
+ `"inlets"`.
8
+ ## Source
9
+
10
+ Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
11
+
12
+ ## Submitting Incomplete Solutions
13
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,35 @@
1
+ # Binary
2
+
3
+ Convert a binary number, represented as a string (e.g. '101010'), to its decimal equivalent using first principles.
4
+
5
+ Implement binary to decimal conversion. Given a binary input
6
+ string, your program should produce a decimal output. The
7
+ program should handle invalid inputs.
8
+
9
+ ## Note
10
+ - Implement the conversion yourself.
11
+ Do not use something else to perform the conversion for you.
12
+
13
+ ## About Binary (Base-2)
14
+ Decimal is a base-10 system.
15
+
16
+ A number 23 in base 10 notation can be understood
17
+ as a linear combination of powers of 10:
18
+
19
+ - The rightmost digit gets multiplied by 10^0 = 1
20
+ - The next number gets multiplied by 10^1 = 10
21
+ - ...
22
+ - The *n*th number gets multiplied by 10^*(n-1)*.
23
+ - All these values are summed.
24
+
25
+ So: `23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10`
26
+
27
+ Binary is similar, but uses powers of 2 rather than powers of 10.
28
+
29
+ So: `101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10`.
30
+ ## Source
31
+
32
+ All of Computer Science [http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-](http://www.wolframalpha.com/input/?i=binary&a=*C.binary-_*MathWorld-)
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,34 @@
1
+ # Grains
2
+
3
+ Calculate the number of grains of wheat on a chessboard given that the number
4
+ on each square doubles.
5
+
6
+ There once was a wise servant who saved the life of a prince. The king
7
+ promised to pay whatever the servant could dream up. Knowing that the
8
+ king loved chess, the servant told the king he would like to have grains
9
+ of wheat. One grain on the first square of a chess board. Two grains on
10
+ the next. Four on the third, and so on.
11
+
12
+ There are 64 squares on a chessboard.
13
+
14
+ Write code that shows:
15
+ - how many grains were on each square, and
16
+ - the total number of grains
17
+
18
+
19
+ ## For bonus points
20
+
21
+ Did you get the tests passing and the code clean? If you want to, these
22
+ are some additional things you could try:
23
+
24
+ - Optimize for speed.
25
+ - Optimize for readability.
26
+
27
+ Then please share your thoughts in a comment on the submission. Did this
28
+ experiment make the code better? Worse? Did you learn anything from it?
29
+ ## Source
30
+
31
+ JavaRanch Cattle Drive, exercise 6 [http://www.javaranch.com/grains.jsp](http://www.javaranch.com/grains.jsp)
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,42 @@
1
+ # Hamming
2
+
3
+ Calculate the Hamming difference between two DNA strands.
4
+
5
+ A mutation is simply a mistake that occurs during the creation or
6
+ copying of a nucleic acid, in particular DNA. Because nucleic acids are
7
+ vital to cellular functions, mutations tend to cause a ripple effect
8
+ throughout the cell. Although mutations are technically mistakes, a very
9
+ rare mutation may equip the cell with a beneficial attribute. In fact,
10
+ the macro effects of evolution are attributable by the accumulated
11
+ result of beneficial microscopic mutations over many generations.
12
+
13
+ The simplest and most common type of nucleic acid mutation is a point
14
+ mutation, which replaces one base with another at a single nucleotide.
15
+
16
+ By counting the number of differences between two homologous DNA strands
17
+ taken from different genomes with a common ancestor, we get a measure of
18
+ the minimum number of point mutations that could have occurred on the
19
+ evolutionary path between the two strands.
20
+
21
+ This is called the 'Hamming distance'.
22
+
23
+ It is found by comparing two DNA strands and counting how many of the
24
+ nucleotides are different from their equivalent in the other string.
25
+
26
+ GAGCCTACTAACGGGAT
27
+ CATCGTAATGACGGCCT
28
+ ^ ^ ^ ^ ^ ^^
29
+
30
+ The Hamming distance between these two DNA strands is 7.
31
+
32
+ # Implementation notes
33
+
34
+ The Hamming distance is only defined for sequences of equal length. This means
35
+ that based on the definition, each language could deal with getting sequences
36
+ of equal length differently.
37
+ ## Source
38
+
39
+ The Calculating Point Mutations problem at Rosalind [http://rosalind.info/problems/hamm/](http://rosalind.info/problems/hamm/)
40
+
41
+ ## Submitting Incomplete Solutions
42
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,21 @@
1
+ # Hello World
2
+
3
+ The classical introductory exercise. Just say "Hello, World!".
4
+
5
+ ["Hello, World!"](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program) is
6
+ the traditional first program for beginning programming in a new language
7
+ or environment.
8
+
9
+ The objectives are simple:
10
+
11
+ - Write a function that returns the string "Hello, World!".
12
+ - Run the test suite and make sure that it succeeds.
13
+ - Submit your solution and check it at the website.
14
+
15
+ If everything goes well, you will be ready to fetch your first real exercise.
16
+ ## Source
17
+
18
+ This is an exercise to introduce users to using Exercism [http://en.wikipedia.org/wiki/%22Hello,_world!%22_program](http://en.wikipedia.org/wiki/%22Hello,_world!%22_program)
19
+
20
+ ## Submitting Incomplete Solutions
21
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,33 @@
1
+ # Leap
2
+
3
+ Given a year, report if it is a leap year.
4
+
5
+ The tricky thing here is that a leap year in the Gregorian calendar occurs:
6
+
7
+ ```plain
8
+ on every year that is evenly divisible by 4
9
+ except every year that is evenly divisible by 100
10
+ unless the year is also evenly divisible by 400
11
+ ```
12
+
13
+ For example, 1997 is not a leap year, but 1996 is. 1900 is not a leap
14
+ year, but 2000 is.
15
+
16
+ If your language provides a method in the standard library that does
17
+ this look-up, pretend it doesn't exist and implement it yourself.
18
+
19
+ ## Notes
20
+
21
+ Though our exercise adopts some very simple rules, there is more to
22
+ learn!
23
+
24
+ For a delightful, four minute explanation of the whole leap year
25
+ phenomenon, go watch [this youtube video][video].
26
+
27
+ [video]: http://www.youtube.com/watch?v=xX96xng7sAE
28
+ ## Source
29
+
30
+ JavaRanch Cattle Drive, exercise 3 [http://www.javaranch.com/leap.jsp](http://www.javaranch.com/leap.jsp)
31
+
32
+ ## Submitting Incomplete Solutions
33
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,33 @@
1
+ # Nucleotide Count
2
+
3
+ Given a DNA string, compute how many times each nucleotide occurs in the string.
4
+
5
+ DNA is represented by an alphabet of the following symbols: 'A', 'C',
6
+ 'G', and 'T'.
7
+
8
+ Each symbol represents a nucleotide, which is a fancy name for the
9
+ particular molecules that happen to make up a large part of DNA.
10
+
11
+ Shortest intro to biochemistry EVAR:
12
+
13
+ - twigs are to birds nests as
14
+ - nucleotides are to DNA and RNA as
15
+ - amino acids are to proteins as
16
+ - sugar is to starch as
17
+ - oh crap lipids
18
+
19
+ I'm not going to talk about lipids because they're crazy complex.
20
+
21
+ So back to nucleotides.
22
+
23
+ DNA contains four types of them: adenine (`A`), cytosine (`C`), guanine
24
+ (`G`), and thymine (`T`).
25
+
26
+ RNA contains a slightly different set of nucleotides, but we don't care
27
+ about that for now.
28
+ ## Source
29
+
30
+ The Calculating DNA Nucleotides_problem at Rosalind [http://rosalind.info/problems/dna/](http://rosalind.info/problems/dna/)
31
+
32
+ ## Submitting Incomplete Solutions
33
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,25 @@
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
+ ## Source
21
+
22
+ Rosalind [http://rosalind.info/problems/rna](http://rosalind.info/problems/rna)
23
+
24
+ ## Submitting Incomplete Solutions
25
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,24 @@
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
+ ## Source
20
+
21
+ 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)
22
+
23
+ ## Submitting Incomplete Solutions
24
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,18 @@
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
+ ## Source
14
+
15
+ A variation on Problem 1 at Project Euler [http://projecteuler.net/problem=1](http://projecteuler.net/problem=1)
16
+
17
+ ## Submitting Incomplete Solutions
18
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,26 @@
1
+ # Triangle
2
+
3
+ Determine if a triangle is equilateral, isosceles, or scalene.
4
+
5
+ An _equilateral_ triangle has all three sides the same length.<br/>
6
+ An _isosceles_ triangle has at least two sides the same length. (It is sometimes
7
+ specified as having exactly two sides the same length, but for the purposes of
8
+ this exercise we'll say at least two.)<br/>
9
+ A _scalene_ triangle has all sides of different lengths.
10
+
11
+ ## Note
12
+
13
+ For a shape to be a triangle at all, all sides have to be of length > 0, and
14
+ the sum of the lengths of any two sides must be greater than or equal to the
15
+ length of the third side. See [Triangle Inequality](https://en.wikipedia.org/wiki/Triangle_inequality).
16
+
17
+ ## Dig Deeper
18
+
19
+ The case where the sum of the lengths of two sides _equals_ that of the
20
+ third is known as a _degenerate_ triangle - it has zero area and looks like
21
+ a single line. Feel free to add your own code/tests to check for degenerate triangles.## Source
22
+
23
+ The Ruby Koans triangle project, parts 1 & 2 [http://rubykoans.com](http://rubykoans.com)
24
+
25
+ ## Submitting Incomplete Solutions
26
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -1,3 +1,3 @@
1
- flake8>=3.3,<3.3.99
1
+ flake8==3.4.1
2
2
  pep8>=1.7,<1.7.99
3
3
  pyflakes>=1.5,<1.5.99
@@ -0,0 +1,35 @@
1
+ {
2
+ "maintainers": [
3
+ {
4
+ "github_username": "jonmcalder",
5
+ "show_on_website": false,
6
+ "alumnus": false,
7
+ "name": null,
8
+ "bio": null,
9
+ "link_text": null,
10
+ "link_url": null,
11
+ "avatar_url": null
12
+ },
13
+ {
14
+ "github_username": "katrinleinweber",
15
+ "show_on_website": false,
16
+ "alumnus": false,
17
+ "name": null,
18
+ "bio": null,
19
+ "link_text": null,
20
+ "link_url": null,
21
+ "avatar_url": null
22
+ },
23
+ {
24
+ "github_username": "jonboiser",
25
+ "show_on_website": false,
26
+ "alumnus": false,
27
+ "name": null,
28
+ "bio": null,
29
+ "link_text": null,
30
+ "link_url": null,
31
+ "avatar_url": null
32
+ }
33
+ ],
34
+ "docs_url": "https://github.com/exercism/docs/blob/master/maintaining-a-track/maintainer-configuration.md"
35
+ }
data/tracks/r/config.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "language": "R",
3
3
  "checklist_issue": 5,
4
- "active": false,
4
+ "active": true,
5
5
  "foregone": [
6
6
 
7
7
  ],
@@ -64,7 +64,7 @@ bin/configlet lint .
64
64
  ```
65
65
  Your pull request won't pass the Travis CI build if either of those fail.
66
66
 
67
- If you're new to Git, take a look at [this short guide](https://github.com/exercism/x-common/blob/master/CONTRIBUTING.md#git-basics).
67
+ If you're new to Git, take a look at [this short guide](https://github.com/exercism/docs/blob/master/contributing-to-language-tracks/README.md#git-basics).
68
68
 
69
69
  ## READMEs
70
70
  Please do not add a README or README.md file to the problem directory. The READMEs are constructed using shared metadata, which lives in the [exercism/x-common](https://github.com/exercism/x-common) repository.
@@ -0,0 +1,16 @@
1
+ # {{ .Spec.Name }}
2
+
3
+ {{ .Spec.Description -}}
4
+ {{- with .Hints }}
5
+ {{ . }}
6
+ {{ end }}
7
+ {{- with .TrackInsert }}
8
+ {{ . }}
9
+ {{ end }}
10
+ {{- with .Spec.Credits -}}
11
+ ## Source
12
+
13
+ {{ . }}
14
+ {{ end }}
15
+ ## Submitting Incomplete Solutions
16
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.