title: How to write “dependent” understanding-when rules?
body: <p>I’m in a situation like this:</p>
  
  
  
  <pre><code>"Cream Corner" by Lynn
  
  An ice cream cone is a kind of edible thing.
  An ice cream cone has a number called scoop count.
  
  Rule for printing the name of an ice cream cone:
      say "[the scoop count in words]-scoop ice cream cone". 
  
  The Cream Corner is a room.
  The player holds an ice cream cone with scoop count 3.
  </code></pre>
  
  <p>Now I want <code>&gt; eat three-scoop</code> to work. I can do this:</p>
  
  <pre><code>Understand "one-scoop" as an ice cream cone
      when the scoop count of the item described is 1.
  Understand "two-scoop" as an ice cream cone
      when the scoop count of the item described is 2.
  Understand "three-scoop" as an ice cream cone
      when the scoop count of the item described is 3.
  [ ... ]
  </code></pre>
  
  <p>But of course, ideally, I’d like to write a rule like this:</p>
  
  <pre><code>Understand "[number]-scoop" as an ice cream cone
      when the scoop count of the item described is the number understood.
  </code></pre>
  
  <p>However, the Inform documentation <a href="http://inform7.com/learn/man/WI_17_17.html" rel="nofollow noreferrer">specifies that this is impossible</a>:</p>
  
  <blockquote>
    <p>So we cannot safely say "when the noun is the fir cone", for instance, or refer to things like "the number understood". (We aren't done understanding yet.) If we want more sophisticated handling of such cases, we need to write checking rules and so on in the usual way.</p>
  </blockquote>
  
  <p>All the same, it isn’t clear to me <strong>how</strong> to replace such a rule with a checking rule “in the usual way”. How do I use checking rules to make <code>[number]-scoop</code> in the player’s command be interpreted as “an ice cream cone with that many scoops”?</p>