> Array.diff("Hello world!"/"","Help!"/""); Result: ({ /* 2 elements */ ({ /* 3 elements */ ({ /* 3 elements */ "H", "e", "l" }), ({ /* 8 elements */ "l", "o", " ", "w", "o", "r", "l", "d" }), ({ /* 1 elements */ "!" }) }), ({ /* 3 elements */ ({ /* 3 elements */ "H", "e", "l" }), ({ /* 1 elements */ "p" }), ({ /* 1 elements */ "!" }) }) })
> Array.diff_compare_table("Hello world!"/"","Help!"/""); Result: ({ /* 12 elements */ ({ /* 1 elements */ 0 }), ({ /* 1 elements */ 1 }), ({ /* 1 elements */ 2 }), ({ /* 1 elements */ 2 }), ({ }), ({ }), ({ }), ({ }), ({ }), ({ /* 1 elements */ 2 }), ({ }), ({ /* 1 elements */ 4 }) })
> Array.diff_longest_sequence("Hello world!"/"","Help!"/""); Result: ({ /* 4 elements */ 0, 1, 2, 4 })
Result: ({ /* 3 elements */ "2", "4", "6" })
Second syntax:
Filter array calls fun in all the objects in the array arr, and
return all objects that returned true.
Third syntax:
Filter array calls all function pointers in the array arr, and
return all that returned true.
> array a = ({ 1,2,3,4,2,3,5,6 }); Result: ({ /* 8 elements */ 1, 2, 3, 4, 2, 3, 5, 6 }) > array seq = Array.longest_ordered_sequence(a); Result: ({ /* 6 elements */ 0, 1, 4, 5, 6, 7 }) > rows(a,seq); Result: ({ /* 6 elements */ 1, 2, 2, 3, 5, 6 })
Second syntax:
Map array calls function fun in all objects in the array arr.
i.e. arr[x]=arr[x]->fun(@ args);
Third syntax:
Map array calls the functions in the array arr:
arr[x]=arr[x]->fun(@ args);
Array.reduce(aggregate, indices(allocate(4))) -> ({ ({ ({ 0, 1 }), 2 }), 3 }) Array.reduce(`+, ({}), "FOO?") -> "FOO?" Array.reduce(lambda(int a, int b) { while(b) { int t=b; b=a%b; a=t; } return a; }, ({7191,21573,64719,33694})) -> 17
Array.rreduce(aggregate, indices(allocate(4))) -> ({ 0, ({ 1, ({ 2, 3 }) }) })
Result: ({ /* 9 elements */ 1, "1", "a", 2, "2", "b", 3, "3", "c" }) > Array.splice(({1,2,3}),({"1","2","3"}),({"a","b"})); Result: ({ /* 9 elements */ 1, "1", "a", 2, "2", "b", })
array sum_arrays(function fun,array arr1,...)
{
int e;
array res=allocate(sizeof(arr1));
for(e=0;e<sizeof(arr1);e++)
{
res[e]=fun(arr1[e],arr2[e],...);
}
return res;
}
Simple ehh?