> Like the default TiddlyWiki slices the first column is an index. > Unlike the default slices, you can have multiple columns, and > access a column by name, the names coming from the title row. > | |!column1 |!column2 |!column3 | > |row1| a | b | c | > |row2| d | e | f | > |row3| g | h | i | > <<slice [[Data]] "row1" "column2">> > returns "b". > I dare say there are other ways of accessing the > wide values, via the tiddler macro
I like the notion of a 2D 'slice array', addressable by row and column names... and I especially like that fact that the additional table syntax doesn't interfere with the TW standard slice table handling, e.g., using the above table, you could still retrieve values where TiddlerName::row1="a", TiddlerName::row2="d", TiddlerName::row3="g", etc. However, I think that rather than defining a new <<slice>> macro to access the 'fat' slices (i.e., the extra columns in each row), a more transparent way to achieve this would be to enhance the store.getTiddlerText() function so that it would be able to recognize an extended syntax for specifying a slice *column name* in addition to a *row name* (which is currently supported by the "TiddlerName::slicename" syntax) I'm thinking something like this might work: TiddlerName::SliceRowName(SliceColumnName) where the "(SliceColumnName)" portion is optional. If no column name is specified, the standard handling (i.e., returning the value from the first column) would be applied. For example, given this slice array: [[FavoritesThings]] | |!Color|!Fruit|!Drink| |Jim|red|watermelon|tomato juice| |Jane|blue|berries|koolaid| |Stanley|orange|apples|coffee| |Edith|green|kiwi|lemon grass tea| You could then write things like: <<tiddler [[FavoriteThings::Jim(Color)]]>> <<tiddler [[FavoriteThings::Edith(Fruit)]]>> <<tiddler [[FavoriteThings::Stanley(Drink)]]>> to display "red", "kiwi", and "coffee" respectively. One really big advantage of extending the getTiddlerText() function is that every plugin and core macro handler that uses getTiddlerText() to access slices will immediately have the ability to reference values stored in "row(column)" slice arrays as well, without needing any code changes in those plugins or core functions! thoughts? -e --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "TiddlyWiki" group. To post to this group, send email to TiddlyWiki@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/TiddlyWiki?hl=en -~----------~----~----~----~------~----~------~--~---