On Wednesday, February 5, 2020 at 7:57:41 PM UTC-8, Mooglegirl wrote:
>
> I have tiddlers for different characters in my story, and I want to define
> a list of pair relationships with accompanying comments, and then generate
> the relationships for a given character on the fly. For example, I might
> have some hidden tiddler with something like:
>
> alice:bob (brother/sister)
> bob:carlos (friends)
> bob:darren (rivals)
> darren:alice (boyfriend/girlfriend)
>
>
There is a fundamental flaw in your intended design: in a
DictionaryTiddler, which contains key:value pairs, each key must be unique,
but in your example, you have two separate entries both with a key of "bob".
To see the problem, try this on Tiddlywiki.com:
1) Create a tiddler (e.g., "MyData") containing the example content shown
in your post and set the type of the tiddler to
"application/x-tiddler-dictionary"
2) Create another tiddler (e.g., "MyTest") containing: {{MyData##bob}}
Notice that only one result is shown: "darren (rivals)".
To achieve the kind of design you want, you would have to make each key
value unique (e.g., "bob-friends" and "bob-rivals"), but then it would be
problematic to do a lookup for the "Bob" tiddler. You would have to get
the list of all key names and remove any "-friends" and "-rivals" suffix to
find the desired key entries, and then restore those suffices when you want
to actually fetch the corresponding value for each matching key. The
required code is complex and prone to errors in implementation.
You might be able to address the problem by having separate
DictionaryTiddlers for each type of relationship. Thus, you would have a
"Friends" tiddler containing "Bob:Carlos" and a "Rivals" tiddler containing
"Bob:Darren". Of course, this has it's own complexities, in that you would
have to check every relationship tiddler to find and display any entries
for "Bob".
-e
--
You received this message because you are subscribed to the Google Groups
"TiddlyWiki" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/tiddlywiki/be33836d-82ac-4beb-95c7-024bfb45061f%40googlegroups.com.