PDA

Volledige versie bekijken : Aááh, mijn Array function werkt niet


Pimm
%Europe/Berlin %710 %2005, 18:03
Lo gasten, 'k heb nufunction solidcheck(checkthis) {
checkresult = "not solid";
for (checker=0; checker<=solid.length; checker++) {
if (checkthis == solid[checker]) {
checkresult = "solid";
}
}
return checkresult;
}
solid = ["a", "e", "i", "u", "o"];
trace("a is "+solidcheck(a));
trace("b is "+solidcheck(b));
trace("e is "+solidcheck(e));
trace("f is "+solidcheck(f));
trace("o is "+solidcheck(o));
trace("p is "+solidcheck(p));
trace("u is "+solidcheck(u));En als output wil ik dus hebbena is solid
b is not solid
e is solid
f is not solid
o is solid
p is not solid
u is solidMaar i.p.v. dat krijg ika is solid
b is solid
e is solid
f is solid
o is not solid
p is solid
u is solidEn ik had zoiets van "WTF mate?!"
Zie ik hier iets over't hoofd ofzo? Klopt er iets niet aan mijn code?

Of als iemand een altenatief heeft is dat ook goed.

Bedankt,

Je mate, Pimm.

Roenes
%Europe/Berlin %714 %2005, 18:09
Volgens mij ligt het niet aan je controle code. Die is gewoon goed. Waar het misschien mee te maken kan hebben is dit:

Je checkt in je for checker <= solid.length. Als je bij 0 begint moet je altijd tellen TOT solid.length. Dus: checker < solid.length aangezien solid.length 5 teruggeeft maar plaatsje solid[5] niet bestaat (== null). In jouw code loopt ie zover door en dat kan wel eens de fout opleveren. dus ff dat is-teken weghalen en nogmaals checken :)

//Edit
Aan dit bovenstaande lag het niet (toch wel ff eruit halen voor de netheid) Het lag aan het volgende: Jij geeft als parameter aan de functie de a mee op deze manier: solidcheck(a) alleen nu check je dit met de string a (door "a" in solid). Je zult dus ook een string moeten meegeven aan de functie en dan werkt het: solidcheck("a")

Pimm
%Europe/Berlin %716 %2005, 18:11
Thanks Roenes, je hebt inderdaad gelijk... maar nu werkt de code nogsteeds niet.
Ik heb nufunction solidcheck(checkthis) {
checkresult = "not solid";
for (checker=0; checker<solid.length; checker++) {
if (checkthis == solid[checker]) {
checkresult = "solid";
}
}
return checkresult;
}
solid = ["a", "e", "i", "u", "o"];
trace("a is "+solidcheck(a));
trace("b is "+solidcheck(b));
trace("e is "+solidcheck(e));
trace("f is "+solidcheck(f));
trace("o is "+solidcheck(o));
trace("p is "+solidcheck(p));
trace("u is "+solidcheck(u));En krijg als output dat ze allemaal not solid zijn...

Roenes
%Europe/Berlin %717 %2005, 18:13
Klopt, ik had je code ook ff getest en kwam daar ook achter. Zie de edit van me vorige post :)

Pimm
%Europe/Berlin %724 %2005, 18:23
Thanks Roenes, je hebt gelijk, alweer.
Dansende bananen voor jou: http://images.linuxforums.org/smiles/banana.gif http://images.linuxforums.org/smiles/banana.gif http://images.linuxforums.org/smiles/banana.gif

Roenes
%Europe/Berlin %734 %2005, 18:38
Peanutbutterjellytime :D

En graag gedaan hoor :)

vegeto
%Europe/Berlin %787 %2005, 19:54
waar is dat code voor

Roenes
%Europe/Berlin %789 %2005, 19:57
Het lijkt een code om the checken of een bepaalde letter in een array voorkomt. En in dit geval een methode om te kijken of een letter een klinker is :)