81 lines
3.0 KiB
Markdown
81 lines
3.0 KiB
Markdown
|
# Food Chain
|
||
|
|
||
|
Write a program that generates the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'
|
||
|
|
||
|
Write a program that generates the lyrics to the song
|
||
|
"I know an old lady who swallowed a fly". While you could
|
||
|
copy/paste the lyrics, or read them from a file, this
|
||
|
problem is much more interesting if you approach it
|
||
|
algorithmically.
|
||
|
|
||
|
This is a [cumulative song](http://en.wikipedia.org/wiki/Cumulative_song) of unknown origin.
|
||
|
|
||
|
This is one of many common variants.
|
||
|
|
||
|
```plain
|
||
|
I know an old lady who swallowed a fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a spider.
|
||
|
It wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a bird.
|
||
|
How absurd to swallow a bird!
|
||
|
She swallowed the bird to catch the spider that wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a cat.
|
||
|
Imagine that, to swallow a cat!
|
||
|
She swallowed the cat to catch the bird.
|
||
|
She swallowed the bird to catch the spider that wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a dog.
|
||
|
What a hog, to swallow a dog!
|
||
|
She swallowed the dog to catch the cat.
|
||
|
She swallowed the cat to catch the bird.
|
||
|
She swallowed the bird to catch the spider that wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a goat.
|
||
|
Just opened her throat and swallowed a goat!
|
||
|
She swallowed the goat to catch the dog.
|
||
|
She swallowed the dog to catch the cat.
|
||
|
She swallowed the cat to catch the bird.
|
||
|
She swallowed the bird to catch the spider that wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a cow.
|
||
|
I don't know how she swallowed a cow!
|
||
|
She swallowed the cow to catch the goat.
|
||
|
She swallowed the goat to catch the dog.
|
||
|
She swallowed the dog to catch the cat.
|
||
|
She swallowed the cat to catch the bird.
|
||
|
She swallowed the bird to catch the spider that wriggled and jiggled and tickled inside her.
|
||
|
She swallowed the spider to catch the fly.
|
||
|
I don't know why she swallowed the fly. Perhaps she'll die.
|
||
|
|
||
|
I know an old lady who swallowed a horse.
|
||
|
She's dead, of course!
|
||
|
```
|
||
|
|
||
|
To run the tests simply run the command `go test` in the exercise directory.
|
||
|
|
||
|
If the test suite contains benchmarks, you can run these with the `-bench`
|
||
|
flag:
|
||
|
|
||
|
go test -bench .
|
||
|
|
||
|
For more detailed info about the Go track see the [help
|
||
|
page](http://help.exercism.io/getting-started-with-go.html).
|
||
|
|
||
|
## Source
|
||
|
|
||
|
Wikipedia [view source](http://en.wikipedia.org/wiki/There_Was_an_Old_Lady_Who_Swallowed_a_Fly)
|