We’ve provided the completed Design Recipe for is-cat
as a model to help you think through the Design Recipe for is-rabbit
.
Define a function called is-cat
, which consumes a Row
of the animals table and computes whether the animal is a cat. HINT: use predefined rows like cat-row
to make your examples easier!
Contract and Purpose Statement |
Every contract has three parts…
is-cat::Row->Boolean
Consumes an animal, and checks whether the species == "cat"
Examples |
Write some examples, then circle and label what changes…
examples:
is-cat (cat-row) is cat-row["species"] == "cat"
is-cat (rabbit-row) is rabbit-row["species"] == "cat"
end
Definition |
Write the definition, giving variable names to all your input values…
fun is-cat(r):
r["species"] == "cat"
end
Define a function called is-rabbit
, which consumes a Row
of the animals table and computes whether the animal is a lizard. HINT: use predefined rows like rabbit-row
to make your examples easier!
Contract and Purpose Statement |
Every contract has three parts…
_________::___->_______
_
Examples |
Write some examples, then circle and label what changes…
examples:
_________ (__________) is _________________________________
_________ (__________) is _________________________________
end
Definition |
Write the definition, giving variable names to all your input values…
fun _________(_):
________________________
end
★ Add is-rabbit
to your Putting it All Together Starter File.
★ Practice using filter
: Define a new table called cats
that only includes the cat rows.
These materials were developed partly through support of the National Science Foundation, (awards 1042210, 1535276, 1648684, 1738598, 2031479, and 1501927). Bootstrap by the Bootstrap Community is licensed under a Creative Commons 4.0 Unported License. This license does not grant permission to run training or professional development. Offering training or professional development with materials substantially derived from Bootstrap must be approved in writing by a Bootstrap Director. Permissions beyond the scope of this license, such as to run training, may be available by contacting contact@BootstrapWorld.org.