Hola, hace días tenía ganas de responderte pero no me había dado el tiempo de hacerlo. Para un proyecto en el que estamos trabajando hice un script que separa strings de acuerdo a un delimitador y retorna un array. Es el siguiente:
Y un ejemplo de uso:
A diferencia del que colocaste, este si tiene return. No sé si entendí el error que te daba al hacer eso a ti, pero en este caso no he tenido problemas.
Saludos
Código [Seleccionar]
//string_split(str,separator)
var str = argument[0];
var separator = argument[1];
var array;
var index = 0;
//Get strings
while(string_pos(separator,str) != 0){
var position = string_pos(separator,str);
array[index++] = string_copy(str,1,position-1);
str = string_delete(str,1,position);
}
//Final String
array[index] = str;
return array;
Y un ejemplo de uso:
Código [Seleccionar]
array_uno = string_split("1,2,3,4,5,6,7,8,9",",");
array_dos = string_split("a,b,c,d,e,f,g,h,i,j,k",",");
array_tres = string_split("Este es un string largo"," ");
for(var i = 0; i < array_length_1d(array_tres); i++)
show_debug_message("array_tres["+string(i)+"]: " + string(array_tres[i]));
for(var i = 0; i < array_length_1d(array_dos); i++)
show_debug_message("array_dos["+string(i)+"]: " + string(array_dos[i]));
for(var i = 0; i < array_length_1d(array_uno); i++)
show_debug_message("array_uno["+string(i)+"]: " + string(array_uno[i]));
A diferencia del que colocaste, este si tiene return. No sé si entendí el error que te daba al hacer eso a ti, pero en este caso no he tenido problemas.
Saludos