What's the difference? Why doesn't this work?

I’m writing a conditional description. I’ve defined “unfamiliar.” I write:

[if any room is unfamiliar], but this won’t compile. However, this will:
[if the number of unfamiliar rooms is at least 1].

This is from exercise 4.7 in Aaron Reed’s book.

I was under the impression that Inform knows what “any” means…Reed gives “any window is visible” as an example of a condition, on page 89. What am I messing up or not understanding?

Well, that’s a corker.

“Any” should indeed work in descrptions – see chapter 6.15. But it doesn’t, at all. You should file that as a bug.

You can get the effect you want by substituting “a room”, e.g. “if a room is unfamiliar”.

Somewhat awkwardly, this also works: “if anywhere is unfamiliar”. (“Anywhere” works like “any room”, and “anything” works like “any thing”. Except they avoid this bug.)

Similarly, you could say “if there is an unfamiliar room”.