|Anonymous | Login | Signup for a new account||2018-02-20 22:57 PST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002042||Core Inform||Understanding||public||2017-12-01 17:13||2018-01-16 10:32|
|Target Version||Fixed in Version|
|Summary||0002042: Can't use parsed value in when clause for understand as a thing.|
|Description||In the example below, the condition in the when clause gets executed before the number is parsed, causing it to incorrectly use the value parsed from the previous successfully parsed command, if any.|
|Minimal Source Text To Reproduce|
There is a room. Understand "meaning of [number]" as a thing when the number understood is 42. Test me with "x meaning of 42 / trace 42 / x meaning of 5".
|Tags||No tags attached.|
|Effect||(serious/mild) Game compiles but misbehaves|
Looks like this is a documented limitation, but the misbehavior is surprising. An error (or doing the expected behavior) would be better.
I was implementing a different way of referring to things, so the documented recommendation of having the understand match everything and then using a check rule for every action wasn't really a good option.
I'm happy enough with the I6 code I wrote to workaround this bug and a limitation of ParseNumber (https://inform7.uservoice.com/forums/57320-general/suggestions/32588690-parse-larger-numbers [^]), but it's theoretically possible I could have done both things with the "reading a command" activity, so the documentation should mention that as another alternative. I still don't think that check rules and the "reading a command" activity together cover all the usages that being able to actually use parsed values in the when clause would.
|2017-12-01 17:13||rockwalrus||New Issue|
|2018-01-16 10:32||rockwalrus||Note Added: 0004762|
|Copyright © 2000 - 2010 MantisBT Group|