Решение на Девета задача от Пламена Петрова

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

Към профила на Пламена Петрова

Резултати

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

Код

REPOSITORY = 'http://github.com/plammpetrova/ruby-retrospective-2015-1'
# Двадесет неща, които научих.
#
# 1. Научих конвенцията за писане на hash
# 2. Разбрах, че можем да използваме ключа на хеша за индекс, с който #да достъпим стойността, вместо n на брой if-a
# 3. Успях да асимилирам Enumerable (защо изобщо ни е нужен)
# 4. Научих се да дефинирам each методите
# 5. Научих за модула Math
# 6. Научих за методите му и как да ги използвам
# 7. Научих, че комбинацията product и map е за предпочитане пред each do ... n.times do...
# 8. Трябва да обръщам внимание на реда, в който искаме полученият #резултат
# 9. "Връща името на картата" != принтира на екрана името на картата
# 10. Научих за module_function
# 11. Вместо да правя копие на масива (змията) и да трия елементите на # копието, мога да използвам [1..-1]
# 12. Научих се как да използвам self
# 13. select{...}.size е по-уместно вместо да правим проверки, чрез #които да пълним даден масив(а) и после да изпълняваме a.length
# 14. Мога да изнеса suits в метод, който може да се наследява.
# 15. Преповратящ се код е хубаво да изнеса в отделелн метод.
# 16. По-добре е да използвам {...} вместо do...end конструкция в блок #с един ред код
# 17. Да използвам предикатни методи като even? вместо x % 2 == 0
# 18. Научих, че за предпочитане е използването на select вместо #find_all
# 19. Научих повече за fetch.
# 20. Научих повече за lazy.

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

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 304ed8a My final version of task #4
From /tmp/ruby-retrospective-2015-1/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
http://github.com/plammpetrova/ruby-retrospective-2015-1/compare/767dd8dfe46...304ed8a8637

‘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.00489 seconds
8 examples, 0 failures
OK
....................

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

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

Finished in 0.02721 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.00161 seconds
1 example, 0 failures

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

Пламена обнови решението на 26.01.2016 23:32 (преди около 9 години)

+REPOSITORY = 'http://github.com/mitio/ruby-retrospective-2015-1'
+
+# Двадесет неща, които научих.
+#
+# 1. Научих конвенцията за писане на hash
+# 2. Разбрах, че можем да използваме ключа на хеша за индекс, с който #да достъпим стойността, вместо n на брой if-a
+# 3. Успях да асимилирам Enumerable (защо изобщо ни е нужен)
+# 4. Научих се да дефинирам each методите
+# 5. Научих за модула Math
+# 6. Научих за методите му и как да ги използвам
+# 7. Научих, че комбинацията product и map е за предпочитане пред each do ... n.times do...
+# 8. Трябва да обръщам внимание на реда, в който искаме полученият #резултат
+# 9. "Връща името на картата" != принтира на екрана името на картата
+# 10. Научих за module_function
+# 11. Вместо да правя копие на масива (змията) и да трия елементите на # копието, мога да използвам [1..-1]
+# 12. Научих се как да използвам self
+# 13. select{...}.size е по-уместно вместо да правим проверки, чрез #които да пълним даден масив(а) и после да изпълняваме a.length
+# 14. Мога да изнеса suits в метод, който може да се наследява.
+# 15. Преповратящ се код е хубаво да изнеса в отделелн метод.
+# 16. По-добре е да използвам {...} вместо do...end конструкция в блок #с един ред код
+# 17. Да използвам предикатни методи като even? вместо x % 2 == 0
+# 18. Научих, че за предпочитане е използването на select вместо #find_all
+# 19. Научих повече за fetch.
+# 20. Научих повече за lazy.

Пламена обнови решението на 27.01.2016 10:57 (преди около 9 години)

-REPOSITORY = 'http://github.com/mitio/ruby-retrospective-2015-1'
+REPOSITORY = 'http://github.com/plammpetrova/ruby-retrospective-2015-1'
# Двадесет неща, които научих.
#
# 1. Научих конвенцията за писане на hash
# 2. Разбрах, че можем да използваме ключа на хеша за индекс, с който #да достъпим стойността, вместо n на брой if-a
# 3. Успях да асимилирам Enumerable (защо изобщо ни е нужен)
# 4. Научих се да дефинирам each методите
# 5. Научих за модула Math
# 6. Научих за методите му и как да ги използвам
# 7. Научих, че комбинацията product и map е за предпочитане пред each do ... n.times do...
# 8. Трябва да обръщам внимание на реда, в който искаме полученият #резултат
# 9. "Връща името на картата" != принтира на екрана името на картата
# 10. Научих за module_function
# 11. Вместо да правя копие на масива (змията) и да трия елементите на # копието, мога да използвам [1..-1]
# 12. Научих се как да използвам self
# 13. select{...}.size е по-уместно вместо да правим проверки, чрез #които да пълним даден масив(а) и после да изпълняваме a.length
# 14. Мога да изнеса suits в метод, който може да се наследява.
# 15. Преповратящ се код е хубаво да изнеса в отделелн метод.
# 16. По-добре е да използвам {...} вместо do...end конструкция в блок #с един ред код
# 17. Да използвам предикатни методи като even? вместо x % 2 == 0
# 18. Научих, че за предпочитане е използването на select вместо #find_all
# 19. Научих повече за fetch.
# 20. Научих повече за lazy.

Имаш две отнети точки поради:

  • Стил

    • Проблеми с идентацията на няколко места
    • Лошо именуване в трета задача - n, k
    • Липсващи интервали на няколко места

      def make_array_of_cards
        suits.product(ranks).map { |suit, rank| Card.new(rank, suit) } # <- Интервалите са ок
      end
      
      def each
        @cards.each {|card| yield card} # <- Интервали липсват
      end
      
  • На доста от 20-те точки им липсва контекст и са непълни някак...