Referencing cells by column and row name
dsc at swcp.com
Tue Dec 30 21:23:07 CST 2003
On Wednesday, December 31, 2003, at 02:17 AM, Mark Powell wrote:
> Say I have 50 lines of tab-delimited data. Each line represents one
> of the 50 U.S. states. Each item within a line corresponds to some
> kind of data (population, area, etc.) Is there any way using Rev's
> built-in commands to write something akin to
> get item "Population" of line "Colorado"
> where Population and Colorado are not variables, but 'column' and
> 'row' names. Is it possible to establish names in this way and
> retrieve data similarly to above?
(I'm assuming the item delimiter is adjusted appropriately for item
Make Population and Colorado constants, or, if this must work among
many scripts, globals set in initialization.
get item Population of line Colorado of currentData
Set up global arrays in initialization.
get item data["Population"] of line state["Colorado"] of currentData
Use functions. The state function returns a line. The datum function
returns an item from a line. The data is in a global. Can't be used
to change the value.
get datum("Population", state("Colorado") )
Use a function for each datum or state. Colorado() returns the
colorado line. Population() returns the Pop item. The data is in a
global. Can't be used to change the value.
get Population( Colorado() )
Switch to arrays. The data array is in a global named data.
Make an interpreter. Replace item key words like "Population" with
"item 4" and line key words like "Colorado" with "line 7 of stateData".
MarkDo "get Population of Colorado"
That's enough to get you thinking, I hope.
More information about the use-livecode