
Трябва ли да escape-ваме двойни кавички в адреса на хипервръзка (както knower-а прави)?
Тези блокове валидни цитати ли са?
1:
>
>галош
2:
>
> кофа
3:
>
> бастун
Т.е. възможно ли е да тествате с такива?
Браво! :) Ама да бяхте казали малко по-рано :) Омацах яко кода последния 1 час, за да пасната повечко тестове... И все пак по-добре след 3 дни - ще имам време да рефакторна и фиксна каквото остава :)
Сега го решихме :)
Трябва ли да escape-ваме двойни кавички в адреса на хипервръзка (както knower-а прави)?
Тези блокове валидни цитати ли са?
1:
>
>галош
2:
>
> кофа
3:
>
> бастун
Т.е. възможно ли е да тествате с такива?
Съдържанието (т.е. параграф, код или вложен цитат) на даден цитат не трябва ли да започва след последната последователност от > и точно един whitespace на всеки ред (като следващите редове имат същото начало като първия, за да е консистентно отместването)? Например:
>..code
>..code
или
>...>..>...code
>...>..>...code
(точките са space-ове) не са ли блокове код в началото на цитат, а не параграфи (knower-ът ги интерпретира като параграфи)?
И още нещо:
>.>.blq
>.>.blq
>
>.>.>.blq
>
>.>.>...blq
>.>.>...blq
валидно ли е, т.е. това колко > има в един празен ред трябва ли да зависи от текущата степен на вложеност или не? Според knower-а така е ок.
Дано да не звучи твърде объркано това, което питам.
Моля ви обяснете защо трябва да сме съгласни с:
>.lq
>...#тук има празни места
>.lq
<blockquote><p>lq
lq</p></blockquote>
Аз виждам цитат от два реда с текст разделени с един празен ред т.е. два параграфа. "Има", а не "няма" пише в коментара.
Този "празен ред" не е празен ред, а е ред с интервали. Щеше да се смята за празен, ако съдържаше само ">" последван от нов ред "\n". В примерите към условието на задачата има такъв случай, като твоя.
@Станислава:
Идеята е идентацията в цитатите да бъде гъвкава т.е. може да има повече от един интервал след >. Това не позволява директно да цитираме блок код, понеже отместването се счита към цитата. Трябва да се цитира параграф преди блока. Може би това е дефект, но такова е условието.
Това колко > има в един празен ред зависи от текущата степен на вложеност.
@Людмил:
Идеята на условието е, че не трябва да отместваме празни редове, а можем да изпуснем интервалите в тях. Ако все пак сложим отместване, интервалите след него се интерпретират като част от блока. Ефекта се получава защото:
Това не са два
параграфа. Понеже на горният ред има интервали.
При блоковете код, следните входове:
..ghhgf
.
..mkj
..ghhgf
..
..mkj
..ghhgf
...
..mkj
дават един и същ изход :
<pre><code>ghhgf
.
mkj</code></pre>
(Навсякъде . да се чете 1 интервал)
Ще се радвам да разбера по каква логика, остава въпросният 1 брой интервал между двата реда в изхода.
П.П. Ще се радвам и на отговор на предишния ми въпрос за хипервръзката.
Това със спейсовете и блоковете според мен е проблем на knower-а, както и при
цитатите, когато пишеш >.
без да добавяш non-whitespace символи
и не го приема за коректен вход. Някой ще ни каже ли защо се случват тези неща?
Бъг в самата функция markup, която knower-а ползва или е нещо странично (от
чисто любопитство питам)?
Аз до колкото тествам, за цитатите има проблем само, ако >.
е
1вият ред. Иначе, ако е в средата или в края е нормално (или поне намирам смисъл
да дава резултата). Тук защо точно 1 интервал реши да сложи, в 2 от случаите, не
ми е понятно.
Не знам, аз направих паралел с бъга при цитатите, защото ако сложиш non-whitespace след единия интервал в първия ти пример дава Exception както се очаква.
Някой да излезе със становище по въпроса, моля.
Веднага излизам със становище относно цялата задача.
Това не е задача за домашно, целяща да провери усвояването на някакви фундаментални знания относно проблемите засегнати в задачата.
Това е задача за проваляне на повечето (да не кажа почти всички), които са решили да се пробват да я направят. Пълна е с неясноти и "корнър кейсове" отвсякъде.
Дотук 3 бъга в knower-а, пък и е смешно makrup функция да дава exception при какъвто и да е вход.
Не се впрягай толкова, че задачата е пълна с корнър кейсове... Направи достатъчно тестовете да минават, хвани някой друг по-явен корнър кейс и си мисля, че ще получиш много точки :) Все пак, ако задачата има толкова много корнър кейсове - можете ли да си представите на преподавателите колко време ще отнеме да напишат тестове за всички :)
...