Решение на Девета задача от Алекс Николов

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

Към профила на Алекс Николов

Резултати

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

Код

REPOSITORY = 'http://github.com/alex-nikolov/ruby-retrospective-2015-1'
# Двадевет неща, които научих.
#
# 1. В първа задача - Изнасяне на валутните курсове в константен хеш вместо
# в тялото на метода.
#
# 2. В първа задача - Заместване на дълъг when израз с еднотипни пресмятания
# с едноредова команда, използваща дефинираните в хеша валутни курсове.
#
# 3. В първа задача - Промяна на изброими имена на променливите в метода
# compare_prices, и по-точно изброяване не чрез one, two и т.н., а чрез
# first, second и т.н.
#
# 4. В първа задача - Отделяне на различни логически части чрез допълнителен
# нов ред.
#
# 5. Във втора задача - Избягване на употребата на object#dup.
#
# 6. Във втора задача - Пренареждане на логиката, така че първо змията
# да расте и след това да губи част от опашката си. Предишната версия
# водеше до бъг, в който позициите на змията се пресмятат грешно,
# когато тя заема само една позиция.
#
# 7. Във втора задача - Добавяне на индентация при логика, простираща се
# на повече от един ред.
#
# 8. Във втора задача - Премахване на излишна променлива new_food_location
# в край на метод.
#
# 9. Във втора задача - Промяна на сигнатурата на wall_ahead? с цел намаляване
# по-добра четимост на кода.
#
# 10. Във втора задача - Използване на възможността за разбиване на масив чрез
# едновременно присвояване на елементите му на променливи.
#
# 11. В трета задача - Слагане на функции, които помага за реализацията на
# главните и които не са необходими на потребителя, в private.
#
# 12. В трета задача - Смяна на класа, в който добавяме метод за проверка дали
# едно число е просто, от Numberic към Integer, тъй като само целите числа
# биха могли да отговарят на това свойство.
#
# 13. В трета задача - Подобряване на алгоритъма, чрез който се генерират
# рационални числа в класа RationalSequence.
#
# 14. Използване на постфиксни едновероди условия, например в
# PrimeSequence#each.
#
# 15. Преди курса по Руби игнорирах тернарния оператор, но вече следя кога бих
# могъл да го използвам за постигане на по-четим код, в и извън Руби.
#
# 16. В трета задача - Избягване на множествено присвояване на един ред
# (когато не се отнася за разбиване на масив) при възможност от стиловите
# ограничения.
#
# 17. В трета задача - Премахване на ненужен метод FibonacciSequence#last.
#
# 18. В четвърта задача - Вместо да седефинират на всички рангове в голям модул
# и да се включва във всяка една колода, по този начин включвайки излишни
# данни в нея, се дефинират константи рангове във всяка колода.
#
# 19. В четвърта задача - Използване на map за генериране на картите в общия
# случай вместо чрез each.
#
# 20. В четвърта задача - Вместо да се използва на хеш за съответствие на
# индекс на карта и нейния ранг, се използва масив и Array#find_index.

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

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 8bff382 fix bugs and improve code in SixtySixDeck
From /tmp/ruby-retrospective-2015-1/checker
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> upstream/master

Changes URL:
http://github.com/alex-nikolov/ruby-retrospective-2015-1/compare/767dd8dfe46...8bff382a4b7

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

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

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

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

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

Алекс обнови решението на 17.01.2016 12:14 (преди около 9 години)

+REPOSITORY = 'http://github.com/alex-nikolov/ruby-retrospective-2015-1/'
+
+# Двадевет неща, които научих.
+#
+# 1. В първа задача - изнасяне на валутните курсове в константен хеш вместо
+# в тялото на метода.
+#
+# 2. В първа задача - заместване на дълъг when израз с еднотипни пресмятания
+# с едноредова команда, използваща дефинираните в хеша валутни курсове.
+#
+# 3. В първа задача - промяна на изброими имена на променливите в метода
+# compare_prices, и по-точно изброяване не чрез one, two и т.н., а чрез
+# first, second и т.н.
+#
+# 4. В първа задача - отделяне на различни логически части чрез допълнителен
+# нов ред.
+#
+# 5. Във втора задача - избягване на употребата на object#dup.
+#
+# 6. Във втора задача - пренареждане на логиката, така че първо змията
+# да расте и след това да губи част от опашката си. Предишната версия
+# водеше до бъг, в който позициите на змията се пресмятат грешно,
+# когато тя заема само една позиция.
+#
+# 7. Във втора задача - добавяне на индентация при логика, простираща се
+# на повече от един ред.
+#
+# 8. Във втора задача - премахване на излишна променлива new_food_location
+# в край на метод.
+#
+# 9. Във втора задача - промяна на сигнатурата на wall_ahead? с цел намаляване
+# по-добра читаемост на кода.
+#
+# 10. Във втора задача - използване на възможността за разбиване на масив чрез
+# едновременно присвояване на елементите му на променливи.
+#
+# 11. В трета задача - слагане на функции, които помага за реализацията на
+# главните и които не са необходими на потребителя, в private.
+#
+# 12. В трета задача - смяна на класа, в който добавяме метод за проверка дали
+# едно число е просто, от Numberic към Integer, тъй като само целите числа
+# биха могли да отговарят на това свойство.
+#
+# 13. В трета задача - подобряване на алгоритъма, чрез който се генерират
+# рационални числа в класа RationalSequence.
+#
+# 14. Използване на постфиксни едновероди условия, например в
+# PrimeSequence#each.
+#
+# 15. Преди курса по Руби игнорирах тернарния оператор, но вече следя кога бих
+# могъл да го използвам за постигане на по-четим код, в и извън Руби.
+#
+# 16. В трета задача - избягване на множествено присвояване на един ред
+# (когато не се отнася за разбиване на масив) при възможност от стиловите
+# ограничения.
+#
+# 17. В трета задача - премахване на ненужен метод FibonacciSequence#last
+#
+# 18. В четвърта задача - вместо да седефинират на всички рангове в голям модул
+# и да се включва във всяка една колода, по този начин включвайки излишни
+# данни в нея, се дефинират константи рангове във всяка колода.
+#
+# 19. В четвърта задача - използване на map за генериране на картите в общия
+# случай вместо чрез each.
+#
+# 20. В четвърта задача - вместо да се използва на хеш за съответствие на
+# индекс на карта и нейния ранг, се използва масив и Array#find_index

Алекс обнови решението на 27.01.2016 13:38 (преди около 9 години)

-REPOSITORY = 'http://github.com/alex-nikolov/ruby-retrospective-2015-1/'
+REPOSITORY = 'http://github.com/alex-nikolov/ruby-retrospective-2015-1'
# Двадевет неща, които научих.
#
-# 1. В първа задача - изнасяне на валутните курсове в константен хеш вместо
+# 1. В първа задача - Изнасяне на валутните курсове в константен хеш вместо
# в тялото на метода.
#
-# 2. В първа задача - заместване на дълъг when израз с еднотипни пресмятания
+# 2. В първа задача - Заместване на дълъг when израз с еднотипни пресмятания
# с едноредова команда, използваща дефинираните в хеша валутни курсове.
#
-# 3. В първа задача - промяна на изброими имена на променливите в метода
+# 3. В първа задача - Промяна на изброими имена на променливите в метода
# compare_prices, и по-точно изброяване не чрез one, two и т.н., а чрез
# first, second и т.н.
#
-# 4. В първа задача - отделяне на различни логически части чрез допълнителен
+# 4. В първа задача - Отделяне на различни логически части чрез допълнителен
# нов ред.
#
-# 5. Във втора задача - избягване на употребата на object#dup.
+# 5. Във втора задача - Избягване на употребата на object#dup.
#
-# 6. Във втора задача - пренареждане на логиката, така че първо змията
+# 6. Във втора задача - Пренареждане на логиката, така че първо змията
# да расте и след това да губи част от опашката си. Предишната версия
# водеше до бъг, в който позициите на змията се пресмятат грешно,
# когато тя заема само една позиция.
#
-# 7. Във втора задача - добавяне на индентация при логика, простираща се
+# 7. Във втора задача - Добавяне на индентация при логика, простираща се
# на повече от един ред.
#
-# 8. Във втора задача - премахване на излишна променлива new_food_location
+# 8. Във втора задача - Премахване на излишна променлива new_food_location
# в край на метод.
#
-# 9. Във втора задача - промяна на сигнатурата на wall_ahead? с цел намаляване
-# по-добра читаемост на кода.
+# 9. Във втора задача - Промяна на сигнатурата на wall_ahead? с цел намаляване
+# по-добра четимост на кода.
#
-# 10. Във втора задача - използване на възможността за разбиване на масив чрез
+# 10. Във втора задача - Използване на възможността за разбиване на масив чрез
# едновременно присвояване на елементите му на променливи.
#
-# 11. В трета задача - слагане на функции, които помага за реализацията на
+# 11. В трета задача - Слагане на функции, които помага за реализацията на
# главните и които не са необходими на потребителя, в private.
#
-# 12. В трета задача - смяна на класа, в който добавяме метод за проверка дали
+# 12. В трета задача - Смяна на класа, в който добавяме метод за проверка дали
# едно число е просто, от Numberic към Integer, тъй като само целите числа
# биха могли да отговарят на това свойство.
#
-# 13. В трета задача - подобряване на алгоритъма, чрез който се генерират
+# 13. В трета задача - Подобряване на алгоритъма, чрез който се генерират
# рационални числа в класа RationalSequence.
#
# 14. Използване на постфиксни едновероди условия, например в
# PrimeSequence#each.
#
# 15. Преди курса по Руби игнорирах тернарния оператор, но вече следя кога бих
# могъл да го използвам за постигане на по-четим код, в и извън Руби.
#
-# 16. В трета задача - избягване на множествено присвояване на един ред
+# 16. В трета задача - Избягване на множествено присвояване на един ред
# (когато не се отнася за разбиване на масив) при възможност от стиловите
# ограничения.
#
-# 17. В трета задача - премахване на ненужен метод FibonacciSequence#last
+# 17. В трета задача - Премахване на ненужен метод FibonacciSequence#last.
#
-# 18. В четвърта задача - вместо да седефинират на всички рангове в голям модул
+# 18. В четвърта задача - Вместо да седефинират на всички рангове в голям модул
# и да се включва във всяка една колода, по този начин включвайки излишни
# данни в нея, се дефинират константи рангове във всяка колода.
#
-# 19. В четвърта задача - използване на map за генериране на картите в общия
+# 19. В четвърта задача - Използване на map за генериране на картите в общия
# случай вместо чрез each.
#
-# 20. В четвърта задача - вместо да се използва на хеш за съответствие на
-# индекс на карта и нейния ранг, се използва масив и Array#find_index
+# 20. В четвърта задача - Вместо да се използва на хеш за съответствие на
+# индекс на карта и нейния ранг, се използва масив и Array#find_index.