使用标准库。
代码看起来像<srai>XCAR AB, CD</srai>
但是堆栈跟踪显示[0] srai of XCAR AB,CD
删除了空间。
我正在尝试,
使用 XSUBSTRING 遍历一串长度一致的 -delineated 单词,以便将每个单词映射到人类可读的输出。
因此,我使用嵌套类别来获取和打印基于外部类别的更新索引谓词的每个 XSUBSTRING 的 XCAR。
这是外部类别的代码:
<category>
<pattern>COMMAND</pattern>
<template>
<think>
<set name="index">0</set>
<set name="allitemsprinted">FALSE</set>
</think>
This part prints for me.
<br/><br/>
So does this.
<!-- iterate through "ties" -->
<condition name="allitemsprinted" value="FALSE">
But this doesn't print.
Nor does anything after.
This srai works correctly:
<srai>XCDR UX, SE, CS</srai>
<srai>PRINT ITEM</srai>
<loop/>
</condition>
<br/>
</template>
</category>
这是嵌套类别:
<category>
<pattern>PRINT ITEM</pattern>
<template>
<think>
<set var="itemlocation">
<!-- 2-char name plus delim -->
<srai>XMUL <get name="index"/> XS 4</srai>
</set>
<set var="remainingitems">
<srai>XSUBSTRING <get name="items"/> XS <get var="itemlocation"/></srai>
</set>
<!-- increment index -->
<set name="index">
<map name="successor">
<get name="index"/>
</map>
</set>
<!-- check for end of list -->
<set name="allitemsprinted">
<srai>XGT <get name="index"/> XS <get name="itemcount"/></srai>
</set>
</think>
Remaining items: <get var="remainingitems"/>
First remaining item: <srai>XCAR <get var="remainingitems"/></srai>
<!-- human-readable output -->
<map name="itemsreadable">
<srai>XCAR <get var="remainingitems"/></srai>
</map>
<br/>
</template>
</category>
Pandorabots 提供的堆栈跟踪显示<srai>
内部<condition>
确实被调用了。但它根本不会打印任何东西。