Тук е мястото да питате, ако има нещо неясно по условието на пета задача - фабриката за регулярни изрази. Примерните тестове са тук.
Пета задача
- func (f Factory) ReturnResult(order Order) - За всяка изпълнена поръчка връща резултата на клиента, който я е изпратил - Kакво значи това ? Къде я връщам не ми е ясно как точно се очаква да работи функцията. - И тия състояния на къв принцип кога и къде се очаква да се случват не става много ясно. - Поръчките асинхронни ли ще са или при създаването на фабрика ще се извърши само една щото никъде не става ясно. - Условието е безкрайно дълго а накрая половината неща не стават ясни(или се очаква да са по подразбиране тогава изобщо къв е смисъла да е толкова дълго всичко можеше да е събрано в 5 изречения). 
- factory := NewFactory(0) factory.StopProducing() factory.StorageAdd(map[string]uint16{ `che`: 1, `(kop|bob|top)`: 1, `(panda|raccoon,`: 1, `[0-9]+`: 1, }) result, err := factory.generateRegexp([]string{"kopche", "bobche", "topche"}) if err != nil { t.Error("Unable to produce with valid materials") } if result != `^(kop|bob|top)che$` { t.Errorf("Expected ^(kop|bob|top)che$, got %s", result) } }- Аз ли нещо не разбирам, или правите фабрика с 0 работници, после я карате да спре да произвежда, и после искате метода - generateRegexpда върне резултат? Т.е. явно искате тия така наречени 'работници', да ползват този метод (той да върши съществената работа)?- И какво става ако има повече от един регулярен израз, който match-ва всички думи в слайса? 
- И на третия тест след racoon трябва да има ) иначе не е коректен регулярен израз предполагам че трябва да го хванем в кода ни но в тест според мен е просто объркано 
- Здравейте, Весела Коледа на патерици и по същество: - @Мартин - Погледни си Order. И реално погледнато не е "всяка" а "подадената".
- Първите два абзаца би трябвало да ти отговорят.
- Хм ... може и да си прав и да е грешка при въвеждането - не съм писал аз задачата. Но и да грешка и да не е, резултата от теста не се променя. Освен това според мен материалите не е задължително да са коректен регулярен израз.
 - @Иван - да, което навярно е и причината първата буква да е малка :). - п.п. Приятна Нова Година :) 
- Погледни си 
- Добре аз наистина не мога да разбера тая функция ReturnResult може ли някой да напише един смислен пример как се очаква да се ползва това нещо щото в тествовете които сте дали ползвате generateRegexp 
- @Мартин, прав си. Напълно излишен е този метод. Махам го от условието. 
- Здравейте, - Да предаваме с package solutionкоето се ползва от примерните тестове или както обикновено сpackage main?
- Ако получим два невалидни материала, които обаче в комбинация правят валиден регулярен израз, който удолетворява поръчката? Смисъл невалидните материали да ги ползваме или да ги пренабрегваме/трием?
Примерно che` и `(kop|bob|top)
 
- Да предаваме с 
- Тъй като не са ни казвали да променяме package може би все още е - main.
- 
Ами предполагам, че щом Кирил каза, че не е нужно материалите сами по себе си да са валидни регулярни изрази, то не би трябвало да ги махаме. Поне такова е моето разбиране. "(sad|koko," + ")"заедно правят валиден regex.
 
- И аз имам неясни елементи около разбирането на това как трябва да работи при по-сериозно натоварване. - Ако работниците не могат да си свършат работата достатъчно бързо и тогава се появят нови материали - трябва ли да се опитат да направят продукта и с новите материали или само с тези, които е имало в момента на започване на работата по дадения продукт? 
- Също ако даден работник види, че може да направи даден продукт с определени материали, но в момента на взимането им види, че някой вече ги е взел - трябва ли да се опитва да направи продукта с останалите материали? Логичният отговор е да, но при това положение ще се забави още. 
- Малко пак във връзка с 1 - ако се появят определен набор поръчки и след това се появи заявка за добавяне на материали, трябва ли задължително да се свършат всички поръчки преди добавянето на нови материали? И ако да то трябва ли тогава да е блокираща операция в такъв момент или е ок да има опашка за какво трябва да се свърши и непосредствено след добавянето на материалите те да не са налични още? Принципно това дори не би трябвало да може да се разбере при определени имплементации, но ако има тестове в подобна ситуация, които използват generateRegexp може те да се счупат мислейки, че материалите не са налични още. 
 
- Също един тъп въпрос - при създаване на нова фабрика тя започва ли директно да работи? - Понеже в тестовете викате - stopProducingведнага след създаване, а поне според мен фабриката би трябвало да се създава в нерабтещо състояние, а после да се пуска изрично?- Вие кое от двете очаквате - при създаване да работи или не? 
- Тестовете които са пуснати сега върху домашното окончателните ли са? 
- Не, тепърва ще работим по въпроса ;) 
Трябва да сте влезли в системата, за да може да отговаряте на теми.
