Публикувахме последната задача за курса. Задавайте въпроси по нея тук. :)
Седма задача: Ретроспекция
Имам въпрос. При ретроспекцията, какво трябва да сложим в solution.rb? Предполагам че трябва да сложим нашите тестове и вероятно вашите тестове ще тестват нашите върху Version.rb ?
@Лазар, при ретроспекцията или в задачата за тестовете? В
solution.rb
слагаш това, което се предава в сайта - тестовете заversion.rb
. За ретроспекцията и бонус задачата няма папка в хранилището.Благодаря, разбрах :) .
Бележка - за задачата с тестовете използвайте
describe 'Version' do
, неdescribe Version do
. Ако направите второто ще ви гърмят тестовете с грешка, че я няма тази константа. Това е така, защото първо се оценява вашиятsolution.rb
и после нашите тестове почват да генерират различниVersion
класове. Тоест първоначално, когато ви се дефинира кодът, този клас го няма още.Трябва ли да запазим подравняването в текста за 20-те научени неща, след като стигнем до номер 10, и как го искате?
На мен ми идват наум три начина да си подредя текста:
1)
# 9. Монадите в Haskell са много широка абстракция. Приложими са на много места, # но това ги прави трудни за научаване. # 10. Проверката за възраст може да се реализира по-добре с полиморфизъм, # отколкото с case или if.
2)
# 9. Монадите в Haskell са много широка абстракция. Приложими са на много места, # но това ги прави трудни за научаване. # 10. Проверката за възраст може да се реализира по-добре с полиморфизъм, # отколкото с case или if.
3)
# 9. Монадите в Haskell са много широка абстракция. Приложими са на много места, # но това ги прави трудни за научаване. # 10. Проверката за възраст може да се реализира по-добре с полиморфизъм, отколкото # с case или if.
Най-много ми допада вариант 3, но това си е мое мнение. Вие кое предпочитате?
И трите са добри - нямаме изисквания :) Аз лично използвам втория. Третия изглежда най-добре, но при прехода от 9 към 10 трябва да се преподредят :)
Здравейте, имам малко питане. Имам проблем при проверката за тестовете и ограниченията (т.е. при изпълнение на bundle exec rake check_all), като дава следната грешка: http://www.img-share.eu/f/images/331/errorh6Jx7QD.png (Изпълних преди това bundle install)
Здравейте и при мен изкача error при изпълнение на bundle exec rake check_all или bundle exec rake check[3]. Грешката е следната: https://gyazo.com/b6b928f4cf53eee59b5f9ececf7fa26c , всички gem-ове преди това са се инсталирали успешно :)
Изтрито
@Дарин,
bundle install
какво ти дава като резултат? Ако все още не работи - дай резултата отbundle update rainbow
и опитай пак.@Валентин, от изхода на командата ти виждам, че използваш Ruby
2.2.0
. Използвай минимум 2.3.1Ако и горните неща не помогнат - отворете
Gemfile
, добаветеgem 'rainbow', '= 2.1.0'
в края и пуснетеbundle update rainbow
. Изглежда библиотекатаrainbow
и по-специално версията й 2.2.1 има проблеми с инсталиране на Windows.rainbow
е зависимост наrubocop
.Пишете как сте решили проблема или ако и това не помага.
https://gyazo.com/7650e108ce3f454c08b02c15da14cf61 Оправи се моя проблем, но попаднах на същия като на колегата. Сложих версията на rainbow-a но не помогна :)
Явно проблема е в rake-a каква версия да сложа?
Благодаря, сработи след изтриването на Gemfile.lock, ако и други имат подобен проблем!
@Дарин,
bundle update
не помогна ли?
@Валентин, какво пробва досега?Всичко, което каза, bundle update, изтриването на Gemfile.lock-a, rainbowa =2.1.0
Междудругото, гледайки вашият Gemfile.lock и автоматично генерирания след изпълнение на bundle install, има разлика след DEPENDENCIES (в автоматично генерираният присъства и rake). Не знам дали има значение..
@Валентин,
- Случайно да използваш
rbenv
,rvm
или друг ruby version manager? - След като смени Ruby версията, деинсталира ли старата? Рестартира ли терминала след това? Какво ти дава
bundle show rake
? - Виж дали нещо от този линк ще ти е полезно http://stackoverflow.com/questions/28179568/bundle-exec-complains-about-gem-not-being-installed-even-after-bundle-instal
@Дарин,
rake
го има и в предния.rainbow
го няма там, тъй като преди сетването на версията не е била директна зависимост.- Случайно да използваш
Като съм изтрил старата версия от control panel-а е останала папката на Ruby2.2.0 в C disk, която е съхранявала самия rake, изтрих папката и инсталирах bundle и всички други gem-ове и тръгна. Благодаря за помощта @Георги
Като съм изтрил старата версия от control panel-а е останала папката на Ruby2.2.0 в C disk, която е съхранявала самия rake, изтрих папката и инсталирах bundle и всички други gem-ове и тръгна. Благодаря за помощта @Георги
Аз имах същите проблеми, но след като ги оправих ми излезна следната грешка. http://prnt.sc/dw8rmm
@Петко, направи следното:
- Върни
Gemfile
иGemfile.lock
както са при нас. Обновили сме тези файлове в нашето хранилище. Ако вече си fork-нал, може да изтеглиш новите промени така:git remote add upstream https://github.com/fmi/ruby-retrospective-2016.git
git pull upstream master
- Сравни твоите файлове с нашите - Gemfile и Gemfile.lock. Трябва да са еднакви.
- Изпълни
bundle install
- Би трябвало да работи
Тази сутрин е публикувана нова версия на Rubocop. Като си изтрил
Gemfile.lock
(или си пусналbundle update
) си свалил новата, която не работи с нашата конфигурация.- Върни
@Георги
Благодаря. Със старата версия тръгна.
Трябва да сте влезли в системата, за да може да отговаряте на теми.