Warning: session_start(): open(/var/lib/php/sessions/sess_ujm11k2pu77f51tc696de68ro3, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
// Text + questions from https://lingua.com/english/reading/my-day/
cmodule MyDay > DynPrintLog {
transient new L questions;
transient S text;
transient LS textSentences;
sclass Question {
S question;
LS answers; // 1 to 4
}
start-thread {
LS paragraphs = pnlStruct(paragraphsTokC([[
Text
----
First, I wake up. Then, I get dressed. I walk to school. I do not ride a bike. I do not ride the bus. I like to go to school. It rains. I do not like rain. I eat lunch. I eat a sandwich and an apple.
I play outside. I like to play. I read a book. I like to read books. I walk home. I do not like walking home. My mother cooks soup for dinner. The soup is hot. Then, I go to bed. I do not like to go bed.
Question 1:
What happens first?
1 Get dressed 2 Wake up
3 Eat lunch 4 Walk to school
Question 2:
What do I like?
1 Books 2 Rain
3 Walking home 4 Going to bed
Question 3:
How do I go to school?
1 I ride a bike. 2 I walk.
3 I ride the bus. 4 I drive a car.
Question 4:
What do I eat for dinner?
1 Sandwich 2 Pie
3 Soup 4 Apple
Question 5:
What do I not like?
1 Going to school 2 Going to bed
3 Playing 4 Soup
]]));
L isQ = print(map(rcurry_swic("Question"), paragraphs));
int idx = print(falsesFollowedByTrues_changeIndex_assertNotNull(isQ));
LS textPart = takeFirst(paragraphs, idx);
LS questionsPart = sublist(paragraphs, idx);
assertTrue(isPreciseMultiDashesHeading(first(textPart)));
text = joinWithEmptyLines(dropFirst(textPart));
textSentences = pnl(sentences(text));
for (S s : questionsPart) {
LS lines = tlft(s);
assertEquals(4, l(lines));
assertStartsWith(first(lines), "Question ");
S q = second(lines);
LS answersOnLine = regexpGroups("^1(.+)2(.+)$", third(lines));
assertNempty(answersOnLine);
LS answersOnLine2 = regexpGroups("^3(.+)4(.+)$", last(lines));
assertNempty(answersOnLine2);
LS answers = trimAll(concatLists(answersOnLine, answersOnLine2));
add(questions, nu Question(question := q, +answers));
print(q);
printStruct(answers);
}
}
}