|
@@ -47,7 +47,7 @@ pub fn main() void {
|
|
var elephantB = Elephant{ .letter = 'B' };
|
|
var elephantB = Elephant{ .letter = 'B' };
|
|
var elephantC = Elephant{ .letter = 'C' };
|
|
var elephantC = Elephant{ .letter = 'C' };
|
|
|
|
|
|
- // Link the elephants so that each tail "points" to the next.
|
|
|
|
|
|
+ // We link the elephants so that each tail "points" to the next.
|
|
elephantA.tail = &elephantB;
|
|
elephantA.tail = &elephantB;
|
|
elephantB.tail = &elephantC;
|
|
elephantB.tail = &elephantC;
|
|
|
|
|
|
@@ -64,12 +64,12 @@ pub fn main() void {
|
|
fn visitElephants(first_elephant: *Elephant) void {
|
|
fn visitElephants(first_elephant: *Elephant) void {
|
|
var e = first_elephant;
|
|
var e = first_elephant;
|
|
|
|
|
|
- // Follow the tails!
|
|
|
|
|
|
+ // We follow the tails!
|
|
while (true) {
|
|
while (true) {
|
|
e.print();
|
|
e.print();
|
|
e.visit();
|
|
e.visit();
|
|
|
|
|
|
- // Get the next elephant or stop.
|
|
|
|
|
|
+ // This gets the next elephant or stops.
|
|
if (e.hasTail()) {
|
|
if (e.hasTail()) {
|
|
e = e.getTail();
|
|
e = e.getTail();
|
|
} else {
|
|
} else {
|
|
@@ -77,11 +77,11 @@ fn visitElephants(first_elephant: *Elephant) void {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- // Follow the trunks!
|
|
|
|
|
|
+ // We follow the trunks!
|
|
while (true) {
|
|
while (true) {
|
|
e.print();
|
|
e.print();
|
|
|
|
|
|
- // Get the previous elephant or stop.
|
|
|
|
|
|
+ // This gets the previous elephant or stops.
|
|
if (e.hasTrunk()) {
|
|
if (e.hasTrunk()) {
|
|
e = e.getTrunk();
|
|
e = e.getTrunk();
|
|
} else {
|
|
} else {
|