function getval(u,k)=u[k];
function select (v,s)=let ( i= search(s,v))
getval(getval(v,i[0]),1);
associative_array=[[3.125,3.107],[2.25,2.104],[1.0,.978],[42, 42]];
echo(select(associative_array,3.125));
echo(select(associative_array,2.25));
echo(select(associative_array,1));
echo(select(associative_array,1.0));
echo(select(associative_array,42));
This seems to work.
You can also use strings for the keys:
shaftD = 3;
shaftL = 10;
//******************************
constants =
[
["shaftD", shaftD ],
["length" , shaftL ],
];
//******************************
//******************************
function cam( name ) =
let ( row = search( [name], constants )[0] )
assert(row != [], str("Unknown name '", name, "' supplied to getter
function."))
constants[row][1];
//******************************
On Mon, Nov 1, 2021 at 8:37 AM Patrick Callahan pat.callahan1@gmail.com
wrote:
function getval(u,k)=u[k];
function select (v,s)=let ( i= search(s,v))
getval(getval(v,i[0]),1);
associative_array=[[3.125,3.107],[2.25,2.104],[1.0,.978],[42, 42]];
echo(select(associative_array,3.125));
echo(select(associative_array,2.25));
echo(select(associative_array,1));
echo(select(associative_array,1.0));
echo(select(associative_array,42));
This seems to work.
OpenSCAD mailing list
To unsubscribe send an email to discuss-leave@lists.openscad.org