Марк обнови решението на 27.01.2016 23:16 (преди около 9 години)
+REPOSITORY = 'https://github.com/mark95/ruby-retrospective-2015-1'
+
+# Двадесет неща, които научих.
+
+#1 - Научих за едно проложение на хеш таблицата
+#Като списък от стойности, които обръщаме до нещо друго.
+
+#2 - Научих, че когато имам един и същ код копиран на много места
+#като този за намиране на елемнта пред змията е най - добре да го #изкарам в отделна функция
+
+#3 - Научих за опреатор push, разликата с + (не мутира масива)
+#научих, че array[1..-1] връща всичко без последния елемент на масив и #осъзнах красотата на едноредовите решения.
+
+#4 - Научих че кода [0...5] си се оценява на [0...5] и може да се #използва с map, each ..
+#Докато [*0...5] се оценява на масива [0, 1, 2, 3, 4]. И че [0..5] #включва 5, а [0...5] не го всключва
+
+#5 - Научих, са оператор sample , че е по разбираем от .shuffle.first #и за оператор | ,който намира
+#union на две множества.
+
+#6 - Научих, че се връща последния оценен израз - затова изрази от #вида
+#check_first_move || check_second_move ? true : false са ненужни.
+
+#7 - Научих, че грешки от разсеяност се случват често, най - вече #когато езика е нов и акцента
+#пада върху неговото използване. Докато оправях грешките си научих, че #за да може един class да
+#наследява Enumerable - трябва да имплементира each и да напишем #include Enumerable
+
+#8 - Колкото и да се зарадвах, че още тогава съм умеел lazy #енумератори, за нещастие това е напълно
+#неуместно в конкретната задача, след като искам да имплементирам each
+
+#9 - Научих, че не е добър стил функция да се дефинира в никой клас
+#(или автоматично да се дефинира в Objcet)
+
+#10 - Научих как се дефинират стойност на функция по подразбиране и че #метод each няма нужда
+#да връща каквото и да е освен да "yield-ва"
+
+#11 - Научих за операция partition и ефективността й при работа с две #групи плучени от една.
+
+#12 - Научих за опратор each_slice, как работи с enumerable и научих #колко ефективен може да е
+#изпозлван с метод map.
+
+#13 - Научих че метода to_s не е добре да е написан например puts #@mityo, защото не само може
+#да даде грешки и освен това не можем да използваме @mityo. Най - #добре е да използваме @mityo.map(&:to_s).join("\n")
+#или нещо от сорта да конвертираме елементите на масива до стринг и #после да ги конкатенираме със знака за нов ред.
+
+#14 - Научих метод capitalize, който прави първата буква на низ главна
+
+#15 - Научих, че като израза [1,2, *(10..20)] ни вмъква вмъква числата #от 10 до 20 в масива като
+#отделни елементи, ако бяхме написали *[10..20] щеше да ни вмъкне #масива от тези числа. Съответно ако
+#искаме на обратно *(20.downto(10)), което прави кода по четим и #съкращава излишно писане.
+
+#16 - Научих, че винаги е добре обекти (в конкретната задача - масиви) #да бъдат замръзявани, ако не
+#искам да бъдат променяние - защото вместо да се чудим къде е #програмистката грешка - просто кода гръмва :)
+
+#17 - Научих, ако искам да взема от n-ти до m-ти елемент на масив най #- удачно е чрез
+#аrr[n..m], но ако искам да ги взема и да ги изтрия arr.slice!(n, m) e #най - удачно, тъй като то
+#връща изтритите елементи като мутира масива.
+
+#18 - За конкретната задача видях, че търсейки каре вместо да #проверявам дали имам (например
+# асо купа, асо пика, ...) мога просто да проверя дали асата в ръката #са 4. С което си припомних
+#най - важния урок винаги да търсим по - лесно решение
+
+#19 - Научих за метод select и видях негови приложения за улеснение не #решението - напраимер при
+#избор карти от една и съща боя
+
+#20 - Научих за оператор group_by и как се прилага за ефективно #разделяне на масив на части
Не ти минава skeptic проверката за първа задача и няма как да получиш точки от стандартната схема :/
Commit историята ти е някак бедна, но все пак си положил старание и си подобрил решенията. Освен това си се постарал и да напишеш 20-те поуки, тъй че ще получиш една точка, та да не си съвсем капо (:
Надявам се да си доволен от научените неща и също така да прeглeдаш как останалите от курса са подходили към тази задача.
ПП: Слабо форматиране и на места слаб правопис ми направиха впечатление, четейки 20-те неща, което си научил. И още нещо: оператор != метод
(да, group_by
, each_slice
, и т.н. са методи, а не оператори)