R. Clayton (rclayton@monmouth.edu)
Sat, 8 Jul 2000 16:19:45 -0400 (EDT)
I've just finished testing the dequeue assignments that were handed in, and
nobody produced a correct implementation.
Among people who handed in a close-to-correct implementation, the principle
problem seemed to be understanding the assignment. There were two main
comprehension problems:
1 Adding a command. The assignment states
In this assignment you'll add the order command to readmbox's command
repertoire.
"Add" does not mean "replace"; a couple of people implemented only the order
command. Once you've added the order command to readmbox, readmbox will
recognized two commands: a digit to print a message and order to re-order
the message list.
Also, the assignment adds a new command, not a special feature to be invoked
only once on entry into the mailbox. Again, when implemented correctly, the
dequeue readmbox understands two commands: a digit to print a message and
order to re-order the message list.
If you have any trouble understanding these explanations, you should study
the successful test case included below.
2 Matching a message. The assignment states
A search pattern matches a header field if the header field has field as
its label and word as a word in its text-line.
The assignment then goes on to give examples:
For example, the search pattern "Subject Urgent" matches the header field
Subject: Ugent!! Read at once!!
but matches neither of the header fields
Subject: About your last bill...
because the text-line doesn't contain "Urgent" nor
Disposition: Urgent
because the label isn't "Subject".
As far as I can tell, most people got this wrong by implementing an exact
match; that is, when searching for word, if the text-field wasn't exactly
and only word, then the field didn't match. I'll be the first to admit that
my definition of matching is open to interpretation, but I'm fairly certain
that it can't be sensibly interpreted as an exact and exclusive match given
the above definition and examples.
Because there are still people who haven't submitted their second assignments
yet, I'm willing to set this Wednesday, 12 July, at 5:00 p.m. as a new deadline
for submitting your second dequeue assignment. This deadline is hard; I'm
going to take whatever has been submitted by 5:00 p.m. on Wednesday, 12 July,
as the final dequeue assignment. I'm going to throw away any dequeue
assignment submitted after 5:00 p.m. on Wednesday, 12 July. People who have
not submitted a dequeue assignment by 5:00 p.m. on Wednesday, 12 July are going
to get a zero for the assignment.
5:00 p.m. Wednesday, 12 July, will be determined by my clock. I strongly
recommend you submit your dequeue assignment before you come to class on
Wednesday. All excuses will be ignored: if your dequeue assignment has not
been submitted by 5:00 p.m. Wednesday, 12 July, don't bother submitting it.
This new deadline does not change the list assignment's deadline next Wednesday
(5:00 p.m., 19 July).
I'll be sending out individual e-mail messages to people describing how their
dequeue assignment failed. Below I've included the test file used in the test
and an example of a successful test. That before you can use the test file,
you need to remove the initial hyphen '-' from each line.
Here's the test file
--The test file starts just after this line; remove leading '-'
-From
-Fruit: orange
-Number: one
-Color: red
-
-orange one red
-
-From
-Fruit: lemon
-Number: two
-Color: white
-
-lemon two white
-
-From
-Fruit: lime
-Number: three
-Color: blue
-
-lime three blue
--The test file ends just before this line; remove leading '-'
Here's a successful test
spawn readmbox ../test-mbox-2.1
There are 3 messages.
* 1
orange one red
* 2
lemon two white
* 3
lime three blue
* order Fruit lemon
* 1
lemon two white
* 2
orange one red
* 3
lime three blue
* order Fruit lime
* 1
lime three blue
* 2
lemon two white
* 3
orange one red
* order
* 1
orange one red
* 2
lemon two white
* 3
lime three blue
* q
This archive was generated by hypermail 2.0b3 on Fri Aug 11 2000 - 15:25:05 EDT