Difference between in-line "instead" and "rule fails"?

According to Writing with Inform 19.11:

and

However, check this out:

Lab is a room.

The pointless rules are a rulebook.

Pointless rule for jumping: say "This pointless rule is happening." instead.

Before jumping:
	follow the pointless rules;
	if rule failed:
		stop the action.
Lab is a room.

The pointless rules are a rulebook.

Pointless rule for jumping: 
	say "This pointless rule is happening.";
	rule fails.

Before jumping:
	follow the pointless rules;
	if rule failed:
		stop the action.

Why doesn’t in-line “instead” have the same result as “rule fails”? It seems as though the in-line “instead” is causing the pointless rules to end without a result (neither success or failure). Shouldn’t it cause them to end in failure?

“instead” and “stop the action” end the rule in failure, which stops the current rulebook. “rule fails” ends the rulebook in failure, which stops it and also sets its outcome value to failed.

No, there’s no good way to remember this.

I don’t suppose the dev team could consider renaming “rule fails” to “rulebook fails”, or allowing it as a synonim, or some such? For clarity (which I7 strives for)?

Hmm, I think this contradicts the following from WI 19.11:

which suggests to me that in both examples “rule failed” should test to true, because the most recently followed rule (the pointless rule for jumping) failed. Or is it that in the first case, the most recently followed rule was whatever rule it is that invoked the rulebook, which ended with no outcome?

In any case, I will file this as a documentation bug, because it’s confusing as all get-out.

In both examples, the most recently followed rule is the pointless rulebook.

(Remember that “follow” works on both rules and rulebooks; this is because a rulebook is treated as a kind of compound rule.)

I stand by “confusing as all get-out.” :slight_smile: