trackler 2.2.1.4 → 2.2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
@@ -1,113 +1,153 @@
1
1
  {
2
- "slug": "objective-c",
3
2
  "language": "Objective-C",
4
- "repository": "https://github.com/exercism/objective-c",
5
3
  "active": true,
6
4
  "exercises": [
7
5
  {
8
- "difficulty": 1,
6
+ "uuid": "da5eb908-8cdf-4f99-93f7-c2b7dcb4fb37",
9
7
  "slug": "hello-world",
8
+ "core": false,
9
+ "unlocked_by": null,
10
+ "difficulty": 1,
10
11
  "topics": [
11
12
  "Text formatting",
12
13
  "Optional values"
13
14
  ]
14
15
  },
15
16
  {
16
- "difficulty": 1,
17
+ "uuid": "3438b44a-3e0e-4488-b4e1-57dadbed5f3a",
17
18
  "slug": "bob",
19
+ "core": false,
20
+ "unlocked_by": null,
21
+ "difficulty": 1,
18
22
  "topics": [
19
23
  "Strings",
20
24
  "Control-flow (if-else statements)"
21
25
  ]
22
26
  },
23
27
  {
24
- "difficulty": 1,
28
+ "uuid": "0b3db961-0ee2-4903-8237-4333dee92b68",
25
29
  "slug": "leap",
30
+ "core": false,
31
+ "unlocked_by": null,
32
+ "difficulty": 1,
26
33
  "topics": [
27
34
  "Integers"
28
35
  ]
29
36
  },
30
37
  {
31
- "difficulty": 1,
38
+ "uuid": "1ac87e91-5174-44c6-93b6-deef7c2f4438",
32
39
  "slug": "gigasecond",
40
+ "core": false,
41
+ "unlocked_by": null,
42
+ "difficulty": 1,
33
43
  "topics": [
34
44
  "Dates"
35
45
  ]
36
46
  },
37
47
  {
38
- "difficulty": 1,
48
+ "uuid": "30cfe053-ef80-42c8-b196-3a05f61e0190",
39
49
  "slug": "difference-of-squares",
50
+ "core": false,
51
+ "unlocked_by": null,
52
+ "difficulty": 1,
40
53
  "topics": [
41
54
  "Integers"
42
55
  ]
43
56
  },
44
57
  {
45
- "difficulty": 1,
58
+ "uuid": "e9b0efd4-9da5-4036-a03f-a6f697ae786e",
46
59
  "slug": "sum-of-multiples",
60
+ "core": false,
61
+ "unlocked_by": null,
62
+ "difficulty": 1,
47
63
  "topics": [
48
64
  "Lists",
49
65
  "Transforming"
50
66
  ]
51
67
  },
52
68
  {
53
- "difficulty": 1,
69
+ "uuid": "6a2ab923-5102-44f8-8d5b-4e967983766e",
54
70
  "slug": "space-age",
71
+ "core": false,
72
+ "unlocked_by": null,
73
+ "difficulty": 1,
55
74
  "topics": [
56
75
  "Discriminated unions",
57
76
  "Floating-point numbers"
58
77
  ]
59
78
  },
60
79
  {
61
- "difficulty": 2,
80
+ "uuid": "6a5a3dd6-a1d2-490c-b781-4e781f1e3289",
62
81
  "slug": "hamming",
82
+ "core": false,
83
+ "unlocked_by": null,
84
+ "difficulty": 2,
63
85
  "topics": [
64
86
  "Strings",
65
87
  "Filtering"
66
88
  ]
67
89
  },
68
90
  {
69
- "difficulty": 2,
91
+ "uuid": "a33b7e1b-7f37-4494-8943-719f7d7e6d28",
70
92
  "slug": "nucleotide-count",
93
+ "core": false,
94
+ "unlocked_by": null,
95
+ "difficulty": 2,
71
96
  "topics": [
72
97
  "Maps",
73
98
  "Strings"
74
99
  ]
75
100
  },
76
101
  {
77
- "difficulty": 2,
102
+ "uuid": "4e16fc56-b8a8-4d48-8635-55e13795eb4d",
78
103
  "slug": "raindrops",
104
+ "core": false,
105
+ "unlocked_by": null,
106
+ "difficulty": 2,
79
107
  "topics": [
80
108
  "Text formatting",
81
109
  "Filtering"
82
110
  ]
83
111
  },
84
112
  {
85
- "difficulty": 2,
113
+ "uuid": "5b5c4168-cffa-4d4d-94f5-d8ac7bf8a25f",
86
114
  "slug": "grade-school",
115
+ "core": false,
116
+ "unlocked_by": null,
117
+ "difficulty": 2,
87
118
  "topics": [
88
119
  "Maps",
89
120
  "Sorting"
90
121
  ]
91
122
  },
92
123
  {
93
- "difficulty": 2,
124
+ "uuid": "7ff9aecb-2af3-4846-818c-00eddc87bf3b",
94
125
  "slug": "etl",
126
+ "core": false,
127
+ "unlocked_by": null,
128
+ "difficulty": 2,
95
129
  "topics": [
96
130
  "Maps",
97
131
  "Transforming"
98
132
  ]
99
133
  },
100
134
  {
101
- "difficulty": 2,
135
+ "uuid": "25eb6063-e228-4862-9477-02ebcae02d3d",
102
136
  "slug": "isogram",
137
+ "core": false,
138
+ "unlocked_by": null,
139
+ "difficulty": 2,
103
140
  "topics": [
104
141
  "Strings",
105
142
  "Filtering"
106
143
  ]
107
144
  },
108
145
  {
109
- "difficulty": 2,
146
+ "uuid": "af3bce9f-954a-4f46-97a0-9236436e3f08",
110
147
  "slug": "flatten-array",
148
+ "core": false,
149
+ "unlocked_by": null,
150
+ "difficulty": 2,
111
151
  "topics": [
112
152
  "Searching",
113
153
  "Looping",
@@ -115,71 +155,98 @@
115
155
  ]
116
156
  },
117
157
  {
118
- "difficulty": 3,
158
+ "uuid": "1f3e9399-b1fa-4dec-92d7-7abf3b64f499",
119
159
  "slug": "sublist",
160
+ "core": false,
161
+ "unlocked_by": null,
162
+ "difficulty": 3,
120
163
  "topics": [
121
164
  "Looping",
122
165
  "Lists"
123
166
  ]
124
167
  },
125
168
  {
126
- "difficulty": 3,
169
+ "uuid": "fec4d906-3b0a-412d-ad54-b6e02bf8cabb",
127
170
  "slug": "clock",
171
+ "core": false,
172
+ "unlocked_by": null,
173
+ "difficulty": 3,
128
174
  "topics": [
129
175
  "Time",
130
176
  "Structural equality"
131
177
  ]
132
178
  },
133
179
  {
134
- "difficulty": 3,
180
+ "uuid": "c90dbfe2-64ff-47d5-9b46-7827bf1cc06c",
135
181
  "slug": "triangle",
182
+ "core": false,
183
+ "unlocked_by": null,
184
+ "difficulty": 3,
136
185
  "topics": [
137
186
  "Integers",
138
187
  "Discriminated unions"
139
188
  ]
140
189
  },
141
190
  {
142
- "difficulty": 3,
191
+ "uuid": "de603240-aa3b-4f2d-8427-c442bf0067d2",
143
192
  "slug": "robot-name",
193
+ "core": false,
194
+ "unlocked_by": null,
195
+ "difficulty": 3,
144
196
  "topics": [
145
197
  "Randomness",
146
198
  "Strings"
147
199
  ]
148
200
  },
149
201
  {
150
- "difficulty": 3,
202
+ "uuid": "f56b96e3-a642-4594-97a8-4bc82674547a",
151
203
  "slug": "scrabble-score",
204
+ "core": false,
205
+ "unlocked_by": null,
206
+ "difficulty": 3,
152
207
  "topics": [
153
208
  "Transforming"
154
209
  ]
155
210
  },
156
211
  {
157
- "difficulty": 3,
212
+ "uuid": "f290c133-81b1-4e94-90b0-85d665fdcfc6",
158
213
  "slug": "phone-number",
214
+ "core": false,
215
+ "unlocked_by": null,
216
+ "difficulty": 3,
159
217
  "topics": [
160
218
  "Parsing",
161
219
  "Transforming"
162
220
  ]
163
221
  },
164
222
  {
165
- "difficulty": 3,
223
+ "uuid": "6339da5d-0fe7-489c-a2fe-6b6016afef42",
166
224
  "slug": "perfect-numbers",
225
+ "core": false,
226
+ "unlocked_by": null,
227
+ "difficulty": 3,
167
228
  "topics": [
168
229
  "Integers",
169
230
  "Discriminated unions"
170
231
  ]
171
232
  },
172
233
  {
173
- "difficulty": 3,
234
+ "uuid": "f57cb4b4-5c22-4204-9006-8642af0e4678",
174
235
  "slug": "secret-handshake",
236
+ "core": false,
237
+ "unlocked_by": null,
238
+ "difficulty": 3,
175
239
  "topics": [
176
240
  "Bitwise operations",
177
241
  "Lists"
178
242
  ]
179
243
  },
180
244
  {
181
- "difficulty": 3,
245
+ "uuid": "659b25c4-4f01-49d1-be97-7a45e762b56c",
182
246
  "slug": "atbash-cipher",
247
+ "core": false,
248
+ "unlocked_by": null,
249
+ "difficulty": 3,
183
250
  "topics": [
184
251
  "Strings",
185
252
  "Maps",
@@ -187,16 +254,22 @@
187
254
  ]
188
255
  },
189
256
  {
190
- "difficulty": 3,
257
+ "uuid": "fd22b216-28c3-43cc-9627-e7584f4d3e27",
191
258
  "slug": "sieve",
259
+ "core": false,
260
+ "unlocked_by": null,
261
+ "difficulty": 3,
192
262
  "topics": [
193
263
  "Filtering",
194
264
  "Mathematics"
195
265
  ]
196
266
  },
197
267
  {
198
- "difficulty": 4,
268
+ "uuid": "3f9eb775-a268-42fa-8c28-f8fd9d43bddf",
199
269
  "slug": "beer-song",
270
+ "core": false,
271
+ "unlocked_by": null,
272
+ "difficulty": 4,
200
273
  "topics": [
201
274
  "Looping",
202
275
  "Conditionals",
@@ -204,8 +277,11 @@
204
277
  ]
205
278
  },
206
279
  {
207
- "difficulty": 4,
280
+ "uuid": "75cece67-bfa9-42d9-a497-2efd0862b3ef",
208
281
  "slug": "word-count",
282
+ "core": false,
283
+ "unlocked_by": null,
284
+ "difficulty": 4,
209
285
  "topics": [
210
286
  "Strings",
211
287
  "Maps",
@@ -213,8 +289,11 @@
213
289
  ]
214
290
  },
215
291
  {
216
- "difficulty": 4,
292
+ "uuid": "da7c4aa4-bdaa-4006-89ef-7f93e7a0abf7",
217
293
  "slug": "allergies",
294
+ "core": false,
295
+ "unlocked_by": null,
296
+ "difficulty": 4,
218
297
  "topics": [
219
298
  "Enumerations",
220
299
  "Bitwise operations",
@@ -222,39 +301,54 @@
222
301
  ]
223
302
  },
224
303
  {
225
- "difficulty": 4,
304
+ "uuid": "cea2e160-2269-4dde-9063-734c72cb7255",
226
305
  "slug": "meetup",
306
+ "core": false,
307
+ "unlocked_by": null,
308
+ "difficulty": 4,
227
309
  "topics": [
228
310
  "Dates"
229
311
  ]
230
312
  },
231
313
  {
232
- "difficulty": 4,
314
+ "uuid": "0a08a2f5-cb37-407d-9bf7-d499b0e16258",
233
315
  "slug": "anagram",
316
+ "core": false,
317
+ "unlocked_by": null,
318
+ "difficulty": 4,
234
319
  "topics": [
235
320
  "Strings",
236
321
  "Filtering"
237
322
  ]
238
323
  },
239
324
  {
240
- "difficulty": 4,
325
+ "uuid": "1644b429-041b-4cdb-a023-e6ce74c8fc89",
241
326
  "slug": "acronym",
327
+ "core": false,
328
+ "unlocked_by": null,
329
+ "difficulty": 4,
242
330
  "topics": [
243
331
  "Strings",
244
332
  "Transforming"
245
333
  ]
246
334
  },
247
335
  {
248
- "difficulty": 4,
336
+ "uuid": "8fe580b5-23e5-4120-9b8b-bb43240da325",
249
337
  "slug": "all-your-base",
338
+ "core": false,
339
+ "unlocked_by": null,
340
+ "difficulty": 4,
250
341
  "topics": [
251
342
  "Integers",
252
343
  "Transforming"
253
344
  ]
254
345
  },
255
346
  {
256
- "difficulty": 4,
347
+ "uuid": "12c53e14-9184-42ca-86a1-fc7cb8ae8401",
257
348
  "slug": "largest-series-product",
349
+ "core": false,
350
+ "unlocked_by": null,
351
+ "difficulty": 4,
258
352
  "topics": [
259
353
  "Strings",
260
354
  "Integers",
@@ -262,8 +356,11 @@
262
356
  ]
263
357
  },
264
358
  {
265
- "difficulty": 4,
359
+ "uuid": "567478d0-b93b-48fe-a727-d1969f9097ad",
266
360
  "slug": "pangram",
361
+ "core": false,
362
+ "unlocked_by": null,
363
+ "difficulty": 4,
267
364
  "topics": [
268
365
  "Strings",
269
366
  "Searching",
@@ -271,16 +368,22 @@
271
368
  ]
272
369
  },
273
370
  {
274
- "difficulty": 4,
371
+ "uuid": "a6b0237b-3eeb-449c-92dc-d950fd379713",
275
372
  "slug": "transpose",
373
+ "core": false,
374
+ "unlocked_by": null,
375
+ "difficulty": 4,
276
376
  "topics": [
277
377
  "Strings",
278
378
  "Transforming"
279
379
  ]
280
380
  },
281
381
  {
282
- "difficulty": 4,
382
+ "uuid": "1674a32a-3b75-4c75-a90b-d06a9aa01b4c",
283
383
  "slug": "binary-search",
384
+ "core": false,
385
+ "unlocked_by": null,
386
+ "difficulty": 4,
284
387
  "topics": [
285
388
  "Integers",
286
389
  "Recursion",
@@ -288,8 +391,11 @@
288
391
  ]
289
392
  },
290
393
  {
291
- "difficulty": 4,
394
+ "uuid": "74b484a9-ad9e-4fc1-820c-eb1bbb1fdb82",
292
395
  "slug": "crypto-square",
396
+ "core": false,
397
+ "unlocked_by": null,
398
+ "difficulty": 4,
293
399
  "topics": [
294
400
  "Looping",
295
401
  "Transforming",
@@ -297,8 +403,11 @@
297
403
  ]
298
404
  },
299
405
  {
300
- "difficulty": 4,
406
+ "uuid": "f00fe4b4-7caf-4fe0-b8e6-c1684f71c5f6",
301
407
  "slug": "pascals-triangle",
408
+ "core": false,
409
+ "unlocked_by": null,
410
+ "difficulty": 4,
302
411
  "topics": [
303
412
  "Recursion",
304
413
  "Lists",
@@ -306,8 +415,11 @@
306
415
  ]
307
416
  },
308
417
  {
309
- "difficulty": 5,
418
+ "uuid": "5afbe74a-af64-4558-938b-d075bc4d1f61",
310
419
  "slug": "bracket-push",
420
+ "core": false,
421
+ "unlocked_by": null,
422
+ "difficulty": 5,
311
423
  "topics": [
312
424
  "Strings",
313
425
  "Conditionals",
@@ -315,24 +427,33 @@
315
427
  ]
316
428
  },
317
429
  {
318
- "difficulty": 5,
430
+ "uuid": "fd0b00f9-0c19-46be-8d34-0f86564bf35e",
319
431
  "slug": "roman-numerals",
432
+ "core": false,
433
+ "unlocked_by": null,
434
+ "difficulty": 5,
320
435
  "topics": [
321
436
  "Recursion",
322
437
  "Transforming"
323
438
  ]
324
439
  },
325
440
  {
326
- "difficulty": 5,
441
+ "uuid": "aac1ae62-744a-468f-ba22-53be185c5a6f",
327
442
  "slug": "run-length-encoding",
443
+ "core": false,
444
+ "unlocked_by": null,
445
+ "difficulty": 5,
328
446
  "topics": [
329
447
  "Algorithms",
330
448
  "Transforming"
331
449
  ]
332
450
  },
333
451
  {
334
- "difficulty": 5,
452
+ "uuid": "989aaedc-4836-4d75-8579-0ac177c58120",
335
453
  "slug": "luhn",
454
+ "core": false,
455
+ "unlocked_by": null,
456
+ "difficulty": 5,
336
457
  "topics": [
337
458
  "Strings",
338
459
  "Algorithms",
@@ -340,8 +461,11 @@
340
461
  ]
341
462
  },
342
463
  {
343
- "difficulty": 8,
464
+ "uuid": "cdc9a509-ded9-45b8-b8b1-5903016b77ad",
344
465
  "slug": "rna-transcription",
466
+ "core": false,
467
+ "unlocked_by": null,
468
+ "difficulty": 8,
345
469
  "topics": [
346
470
  "Strings",
347
471
  "Conditionals",
@@ -350,9 +474,6 @@
350
474
  "Transforming"
351
475
  ]
352
476
  }
353
- ],
354
- "deprecated": [
355
-
356
477
  ],
357
478
  "foregone": [
358
479
 
@@ -0,0 +1,32 @@
1
+ # Acronym
2
+
3
+ Convert a phrase to its acronym.
4
+
5
+ Techies love their TLA (Three Letter Acronyms)!
6
+
7
+ Help generate some jargon by writing a program that converts a long name
8
+ like Portable Network Graphics to its acronym (PNG).
9
+
10
+
11
+ ## Setup
12
+
13
+ There are two different methods of getting set up to run the tests with Objective-C:
14
+
15
+ - Create an Xcode project with a test target which will run the tests.
16
+ - Use the ruby gem `objc` as a test runner utility.
17
+
18
+ Both are described in more detail here: http://exercism.io/languages/objective-c
19
+
20
+
21
+ ### Submitting Exercises
22
+
23
+ When submitting an exercise, make sure your solution file is in the same directory as the test code.
24
+
25
+ For example, if you're submitting `Bob.m` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/objective-c/bob/Bob.m`.
26
+
27
+ ## Source
28
+
29
+ Julien Vanier [https://github.com/monkbroc](https://github.com/monkbroc)
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,52 @@
1
+ # All Your Base
2
+
3
+ Convert a number, represented as a sequence of digits in one base, to any other base.
4
+
5
+ Implement general base conversion. Given a number in base **a**,
6
+ represented as a sequence of digits, convert it to base **b**.
7
+
8
+ ## Note
9
+ - Try to implement the conversion yourself.
10
+ Do not use something else to perform the conversion for you.
11
+
12
+ ## About [Positional Notation](https://en.wikipedia.org/wiki/Positional_notation)
13
+
14
+ In positional notation, a number in base **b** can be understood as a linear
15
+ combination of powers of **b**.
16
+
17
+ The number 42, *in base 10*, means:
18
+
19
+ (4 * 10^1) + (2 * 10^0)
20
+
21
+ The number 101010, *in base 2*, means:
22
+
23
+ (1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (0 * 2^2) + (1 * 2^1) + (0 * 2^0)
24
+
25
+ The number 1120, *in base 3*, means:
26
+
27
+ (1 * 3^3) + (1 * 3^2) + (2 * 3^1) + (0 * 3^0)
28
+
29
+ I think you got the idea!
30
+
31
+
32
+ *Yes. Those three numbers above are exactly the same. Congratulations!*
33
+
34
+ ## Setup
35
+
36
+ There are two different methods of getting set up to run the tests with Objective-C:
37
+
38
+ - Create an Xcode project with a test target which will run the tests.
39
+ - Use the ruby gem `objc` as a test runner utility.
40
+
41
+ Both are described in more detail here: http://exercism.io/languages/objective-c
42
+
43
+
44
+ ### Submitting Exercises
45
+
46
+ When submitting an exercise, make sure your solution file is in the same directory as the test code.
47
+
48
+ For example, if you're submitting `Bob.m` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/objective-c/bob/Bob.m`.
49
+
50
+
51
+ ## Submitting Incomplete Solutions
52
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.
@@ -0,0 +1,54 @@
1
+ # Allergies
2
+
3
+ Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
4
+
5
+ An allergy test produces a single numeric score which contains the
6
+ information about all the allergies the person has (that they were
7
+ tested for).
8
+
9
+ The list of items (and their value) that were tested are:
10
+
11
+ * eggs (1)
12
+ * peanuts (2)
13
+ * shellfish (4)
14
+ * strawberries (8)
15
+ * tomatoes (16)
16
+ * chocolate (32)
17
+ * pollen (64)
18
+ * cats (128)
19
+
20
+ So if Tom is allergic to peanuts and chocolate, he gets a score of 34.
21
+
22
+ Now, given just that score of 34, your program should be able to say:
23
+
24
+ - Whether Tom is allergic to any one of those allergens listed above.
25
+ - All the allergens Tom is allergic to.
26
+
27
+ Note: a given score may include allergens **not** listed above (i.e.
28
+ allergens that score 256, 512, 1024, etc.). Your program should
29
+ ignore those components of the score. For example, if the allergy
30
+ score is 257, your program should only report the eggs (1) allergy.
31
+
32
+
33
+ ## Setup
34
+
35
+ There are two different methods of getting set up to run the tests with Objective-C:
36
+
37
+ - Create an Xcode project with a test target which will run the tests.
38
+ - Use the ruby gem `objc` as a test runner utility.
39
+
40
+ Both are described in more detail here: http://exercism.io/languages/objective-c
41
+
42
+
43
+ ### Submitting Exercises
44
+
45
+ When submitting an exercise, make sure your solution file is in the same directory as the test code.
46
+
47
+ For example, if you're submitting `Bob.m` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/objective-c/bob/Bob.m`.
48
+
49
+ ## Source
50
+
51
+ Jumpstart Lab Warm-up [http://jumpstartlab.com](http://jumpstartlab.com)
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,30 @@
1
+ # Anagram
2
+
3
+ Given a word and a list of possible anagrams, select the correct sublist.
4
+
5
+ Given `"listen"` and a list of candidates like `"enlists" "google"
6
+ "inlets" "banana"` the program should return a list containing
7
+ `"inlets"`.
8
+
9
+ ## Setup
10
+
11
+ There are two different methods of getting set up to run the tests with Objective-C:
12
+
13
+ - Create an Xcode project with a test target which will run the tests.
14
+ - Use the ruby gem `objc` as a test runner utility.
15
+
16
+ Both are described in more detail here: http://exercism.io/languages/objective-c
17
+
18
+
19
+ ### Submitting Exercises
20
+
21
+ When submitting an exercise, make sure your solution file is in the same directory as the test code.
22
+
23
+ For example, if you're submitting `Bob.m` for the Bob exercise, the submit command would be something like `exercism submit <path_to_exercism_dir>/objective-c/bob/Bob.m`.
24
+
25
+ ## Source
26
+
27
+ Inspired by the Extreme Startup game [https://github.com/rchatley/extreme_startup](https://github.com/rchatley/extreme_startup)
28
+
29
+ ## Submitting Incomplete Solutions
30
+ It's possible to submit an incomplete solution so you can see how others have completed the exercise.