Indirection through a Model, _if and _is
Summary: This one is just plain strange -- see the Details
Eric hit this, on
this page (email, 9/23/17):
Just ran into a problem, started using Querki Explorer to diagnose, and I'm baffled.
This Thing has a Spirits Used Property which is a List of 3 Spirits.
Each Spirits has a Which Game Property, which is a Thing type, linked to one of two Things:: Already Printed or Expansion #2 Candidates
Each of the code blocks below is what I typed in Querki Explorer followed by the (plaintext) results.
Test 1 goes as expected:
Spirits Used -> Which Game
Already Printed Already Printed Expansion #2 Candidates
Test 2 also goes as expected:
Spirits Used -> Which Game -> _is(Already Printed)
true true false
Test 3 goes off the rails:
Spirits Used -> Which Game -> _if(_is(Already Printed), ""printed"", ""not"")
printed printed printed
Did I screw up syntax somehow? Test 4:
Spirits Used -> _if(Which Game -> _is(Already Printed), ""printed"", ""not"")
printed printed printed
...I have no idea what's going on. Help?
This one's damned weird, especially because wrapping the later stages in _foreach (or nested quote/bracket pairs) causes it to go away. The only esoteric thing about it appears to be that Already Printed
is a sub-Model, not an Instance. WTF?
This repro's in isolation. Given two Things named Next One
and Yet Another
, I do:
<Next One, Yet Another, Next One> -> _if(_is(Next One), ""yes"", ""no"")
and it prints out "yes yes yes". So something's clearly weird in the combination of _if
and _is
.