When using "find" to search through a string or array currently the found element has to be removed/renamed to be able to find following occurences:
indices = [];
bla = [5,6,7,5];
_f = bla find 5;
while {_f > -1} do {
indices pushBack _f;
bla set [_f, "removed"];
_f = bla find 5;
}
Instead of removing/renaming the element a new find command which takes a start position for the search could be implemented (as the find command in C++).
Overloading the find command (as in C++) is not possible because both of its parameters can be an array already - new command "findNext":
indices = [];
bla = [5,6,7,5];
_f = bla find 5;
while {_f > -1} do {
indices pushBack _f;
_f = bla findNext [5, _f + 1];
}