Решение на Девета задача от Мариян Борисов

Обратно към всички решения

Към профила на Мариян Борисов

Резултати

  • 5 точки от тестове
  • 0 бонус точки
  • 5 точки общо
  • 1 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'https://github.com/mariyan-borisov/ruby-retrospective-2015-1'
# Четиринадесет неща, които научих.
#
# 1. Трябва да ползваме spaces вместо tabs.
#
# 2. Трябва да си тестваме кода преди да го пратим.
#
# 3. Трябва да именуваме променливите си смислено.
#
# 4. Трябва да се науча да чета условията на задачите.
#
# 5. Да не слагам неща, които не се искат в условието.
#
# 6. Да не чакам последния момент да почна да пиша задачите.
#
# 7. Подредбата на редовете в кода има значение.
#
# 8. Да не слагаме имена на променливи, които няма да използваме.
#
# 9. Можем да пренасяме на нов ред без реда да ни завършва с обратно наклонена черта "\".
#
# 10. Да не поставяме празни редове след class/module и преди end.
#
# 11. Можем да напишем (0...size) вместо (0..size - 1).
#
# 12. Не можем да дадем на Array#- директно елемент, а трябва да е масив от един елемент.
#
# 13. Можем да изполваме Hash със някакви стоиности вместо да правим много проверки със if/elsif/else
#
# 14. Мога да изполвам each_cons да видя дали имам няколко последователни елемента (т.е. карти)

Лог от изпълнението

From https://github.com/fmi/ruby-retrospective-2015-1
 * branch            master     -> FETCH_HEAD
HEAD is now at 767dd8d Update the task name in the readme for clarity
Cloning into 'submission'...
HEAD is now at 2f692e3 Rename "RationalSequence#increment_direction" to "RationalSequence#next_number"
From /tmp/ruby-retrospective-2015-1/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
https://github.com/mariyan-borisov/ruby-retrospective-2015-1/compare/767dd8dfe46...2f692e3515c

‘solutions/04.rb’ -> ‘/tmp/ruby-retrospective-2015-1/checker/solutions/04.rb’
‘solutions/02.rb’ -> ‘/tmp/ruby-retrospective-2015-1/checker/solutions/02.rb’
‘solutions/03.rb’ -> ‘/tmp/ruby-retrospective-2015-1/checker/solutions/03.rb’
‘solutions/01.rb’ -> ‘/tmp/ruby-retrospective-2015-1/checker/solutions/01.rb’
OK
........

Finished in 0.00483 seconds
8 examples, 0 failures
OK
....................

Finished in 0.01128 seconds
20 examples, 0 failures
OK
....................

Finished in 0.01788 seconds
20 examples, 0 failures
OK
.........................................................

Finished in 0.02342 seconds
57 examples, 0 failures
From https://github.com/fmi/ruby-homework
 * branch            master     -> FETCH_HEAD
HEAD is now at 9dd040c Modify a test in task 8 to not include empty cells
.

Finished in 0.00162 seconds
1 example, 0 failures

История (1 версия и 1 коментар)

Мариян обнови решението на 27.01.2016 19:56 (преди около 9 години)

+REPOSITORY = 'https://github.com/mariyan-borisov/ruby-retrospective-2015-1'
+
+# Четиринадесет неща, които научих.
+#
+# 1. Трябва да ползваме spaces вместо tabs.
+#
+# 2. Трябва да си тестваме кода преди да го пратим.
+#
+# 3. Трябва да именуваме променливите си смислено.
+#
+# 4. Трябва да се науча да чета условията на задачите.
+#
+# 5. Да не слагам неща, които не се искат в условието.
+#
+# 6. Да не чакам последния момент да почна да пиша задачите.
+#
+# 7. Подредбата на редовете в кода има значение.
+#
+# 8. Да не слагаме имена на променливи, които няма да използваме.
+#
+# 9. Можем да пренасяме на нов ред без реда да ни завършва с обратно наклонена черта "\".
+#
+# 10. Да не поставяме празни редове след class/module и преди end.
+#
+# 11. Можем да напишем (0...size) вместо (0..size - 1).
+#
+# 12. Не можем да дадем на Array#- директно елемент, а трябва да е масив от един елемент.
+#
+# 13. Можем да изполваме Hash със някакви стоиности вместо да правим много проверки със if/elsif/else
+#
+# 14. Мога да изполвам each_cons да видя дали имам няколко последователни елемента (т.е. карти)

Като цяло решенията са добре. Имплементацията ти на Deck#deal е... интересна. Можеш да пропускаш аргументите на блоковете, ако няма да ги използваш, aka:

5.times { |_| puts 'This is the ' }
5.times { puts 'same as this.' }

9. Можем да пренасяме на нов ред без реда да ни завършва с обратно наклонена черта "\".

Не съвсем, понякога ще можеш, понякога няма да можеш, понякога двете ще значат различни неща. Например опитай:

'x'
'y'
'z'
#vs
'x'\
'y'\
'z'

Трябваше все пак да се опиташ да измислиш още няколко поуки.