Skocz do zawartości

Zablokowane Kod wyłaniający funkcje i argument


Easeful

Rekomendowane odpowiedzi

Napisałem sobie na szybko skrypt który ma wyłaniać z podanego tekstu funkcję i argument, czyli że podam "funkcjos arugmentos" to ma mi wlulić do zmiennej fun="funkcjos" a do arg="argumentos" niby banał, ale z tymi chorymi gm'owskimi skryptami do operacji na stringach zawsze mam jakiś problem:

 

GML
get=<tekst_podany>

if string_count(" ",get) //jezeli w tekscie jest przerwa, czyli sprawdza czy "funkcja" albo "funkcja arg"

{

sps=string_pos(get," "); //pozycja pierwszej przerwy

fun=string_copy(get,1,sps); //fun = od pozycji 1 do pozycji sps

arg=string_copy(get,sps,string_length(get)); //arg = od pozycji sps do konca

}

else fun=get; //jezeli w tekscie nie ma przerwy (czyli tekst="funkcja") to funkcja=get</span>

No i gdy dam np. jako tekst "funkcja argumentos" to funkcja = niewiemco a argument = "funkcja argumentos", ogółem jakiś total syf. Co w tym kodzie naprawić? Albo swoje podajcie propozycje jak to zrobić.

Odnośnik do komentarza
Udostępnij na innych stronach

z tego co pamietam kidys zrobiles skrypt string_explode(), jak nie Ty to poszukaj na forum

Odnośnik do komentarza
Udostępnij na innych stronach

GML
/*

explode(str,delimiter,id);

 

str:

tekst

delimiter:

czesc tekstu rozdzielajaca elementy

id:

element do zwrocenia

*/

 

var t, i, v;

 

t = argument0;

v = 0;

i = 0;

 

while (t != "") {

i += 1;

if (string_pos(argument1,t)) {

v = string_copy(t,1,string_pos(argument1,t)-1);

t = string_delete(t,1,string_pos(argument1,t)+string_length(argument1)-1);

} else {

v = t;

t = "";

}

}

 

if (i >= argument2) {

return v[argument2];

} else return "";

Niedawno pisałem na własne potrzeby.
Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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