Skocz do zawartości

Explode i implode


Rekomendowane odpowiedzi

GML
n=argument0;

s=argument1;

_id=ds_list_create();

while(string_count(s,n))

{

ds_list_add(_id,string_copy(s,0,string_pos(s,n)-1));

n=string_copy(n,string_pos(s,n),string_length(n)-string_pos(s,n));

}

return _id;

 

Nietypowy pomysł na funkcję explode, z racji tego, że zwraca id do listy, ale skoro lista to taka "jednowymiarowa tablica" to w gruncie rzeczy sprawdza się i już nie raz mi się przydała :)

 

Wywołanie:

GML
explode(str, char);

 

EDIT: jeszcze dorzucam implode z listy

GML
_id=argument0;

s=argument1;

w="";

for (i=0; i<ds_list_size(_id);i+=1)

{

w+=string(ds_list_find_value(_id,i))+string(s);

}

if (string_char_at(w,string_length(w)-1)==string(s)) w=string_copy(w,0,string_length-2);

return w;

 

PS Pisane "na pałę", z pamięci (nie mam dostępu do GMa w tej chwili), może nie działać, albo być lekko przesunięte, jak tak, to mnie poprawcie :P

PS2 Błąd kolorowania składni w boxie GML - _id powinno być traktowane jako zmienna _id, nie jako _ i id :P

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...