1

我有一个 tiddlywiki [TW5] 宏来确定一个人的年龄——用法是:

<<getAge birthDate deathDate>>

用法:

<<getAge "1898-10-04" "1947-12-09">>

我想在一个人提琴手上使用这个宏——一个识别个人的提琴手。我也有一些事件线索——比如一个人的出生和另一个人的死亡。Person tiddlers 被标记为“person”,birth tiddlers 被标记为“birth”和“event”,death tiddlers 被标记为“death”和“event”。

所有的事件提示者都有一个日期字段和人员字段——后一个字段是与事件相关的人员提示者的列表。

在一个人提琴手我用这个小部件显示出生日期:

<$list filter="[tag[event]tag[birth]contains:people{!!title}]">{{!!date}}</$list>

...和死亡日期:

<$list filter="[tag[event]tag[death]contains:people{!!title}]">{{!!date}}</$list>

问题是,在一个人的提琴手上,我怎样才能得到出生和死亡日期并将它们传递给 getAge 宏?

4

1 回答 1

2

可能为时已晚,但可能的答案是这样的:

<$set name="birthdate" filter="[tag[event]tag[birth]contains:people{!!title}get[date]]">
  <$set name="deathdate" filter="[tag[event]tag[death]contains:people{!!title}get[date]]">
    <$macrocall $name="getAge" birth=<<birthdate>> death=<<deathdate>>/>
  </$set>
</$set>

在这里,我将日期存储在两个变量中,然后将它们用作宏调用中的参数。

请注意,我使用了macrocall小部件,因为我不确定这是否可以通过以常规方式调用宏来完成。

于 2021-02-07T17:04:33.130 回答