How's this look?
i a // i'th member of array value a
a + i // pointer to i'th member of array object a
Works for array, varray,darray.
carray isn't an array (no length).
===========================
var x = (1,2,3,4);
var px = &x;
proc vtst[V,T with ArrayValue[T,V]] (x:T, s:string)
{
println$ s;
println$ 2 x;
println$ x . 2;
var i = 1;
println$ i x;
println$ x . i;
println "";
}
vtst[int]$ x,"array";
vtst[int]$ px,"&array";
vtst[int]$ varray(1,2,3,4),"varray";
vtst[int]$ darray(1,2,3,4),"darray";
println$ "-------";
instance Str[&(int^4)] {
fun str (x:&(int^4)) => "(" + str x*.0 + "," + str x*.1 + "," + str x*.2
+","+str x*.3+")";
}
var i = 2;
proc otst[V,T with ContiguousArrayObject[T,V], Str[T]] (x:T, v1:V, v2:V,
s:string)
{
println$ s;
x + i <- v1;
println$ x . i;
x + (i - 1) <- v2;
println x;
println "";
}
otst[int]$ px,42, 53, "array";
otst[int]$ varray(1,2,3,4),42, 53, "varray";
otst[int]$ darray(1,2,3,4),42, 53, "darray";
--
john skaller
[email protected]
http://felix-lang.org
------------------------------------------------------------------------------
Better than sec? Nothing is better than sec when it comes to
monitoring Big Data applications. Try Boundary one-second
resolution app monitoring today. Free.
http://p.sf.net/sfu/Boundary-dev2dev
_______________________________________________
Felix-language mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/felix-language