For instance, if we want to give some objects a flavor:
Things are, in general, not edible by default, so we have to make them edible specifically in order to allow them to be eaten by the player. Here we've defined food to be edible by default, and we have given it a standard piece of flavor text.
Note that we use "if the noun provides a flavor…" to make sure that the property exists before attempting to use it. Otherwise, there is the risk that we will try to print a property that does not exist, resulting in errors in the game.
We will only get the "It's [noun]-flavored." response if we successfully eat something that is not a food and does not have flavor text. To test this feature, let's suppose something that isn't exactly food but can theoretically be chewed on:
Test me with "eat ham / eat green eggs / eat paper".
You can see a mouse here.
> eat ham
> eat green eggs
> eat paper