PDA

Volledige versie bekijken : Arrays


TheSilentWitness
%Europe/Berlin %728 %2005, 18:29
Hoi,

Het is misschien een erg domme vraag, maar uhm... Stel, ik wil een soort van vertaalprogramma maken. Is het dan verstandig om alles in arrays te stoppen? Of op een andere manier?


Bedankt:-)

mateo)
%Europe/Berlin %731 %2005, 18:33
wat? twee woordenboeken? :)

TheSilentWitness
%Europe/Berlin %741 %2005, 18:47
Nee, gewoon woordjes die ik erin zet... (stuk of 300)

mateo)
%Europe/Berlin %753 %2005, 19:05
ja, gewoon arraytjes dan, denk ik.
(trouwens, het lijkt me wel handig als je die woorden eerst uit een xml-bestand inlaadt, uitleest en overzet naar arrays. dan kan je gewoon dat xml bestand aanpassen als je ergens een typefout hebt gemaakt of nieuwe woorden wil toevoegen of zo.)

SaphuA
%Europe/Berlin %887 %2005, 22:18
Oeeehhhh.. dat wordt wel lastig.. vertaalprogramma in flash 8~
Denk dat je beter alles in objecten kunt zetten, voor elk woord door een array met een lengte van 500 zoeken is ook niet alles..

Dan kun je bijv. twee versies maken een NL -> ENG en een ENG -> NL.
Dan word het dus zoiets als dit:

var woordenlijst = {};
woordenlijst.auto = "car";
//--
trace(woordenlijst.auto);


Maar phoooee.. veel werk...

Edit: En dacht dat je dat de gramatica ook vanzelf goed gaat? |)

Roenes
%Europe/Berlin %924 %2005, 23:10
ja, gewoon arraytjes dan, denk ik.Neej assiociatieve arrays: ;)

var arr = new Array();
arr["auto"] = "car";
arr["fiets"] = "bike";
Je slaat het engelse woord op in een array onder een label dat het nederlandse woord is. Met het opvragen van het woord kun je gewoon het label gebruiken en hoef je niet de hele array te doorlopen :)

SaphuA
%Europe/Berlin %295 %2005, 08:05
Dus een object gebruiken ;)

mateo)
%Europe/Berlin %373 %2005, 09:57
hmm, alles kan, maar ook gewone arrays hoor. als je twee arrays maakt met alle woorden op dezelfde plaats is er niets aan de hand. arr_words_nl[8] bevat dan hetzelfde woord (maar in vertaling) als arr_words_uk[8].

Roenes
%Europe/Berlin %639 %2005, 16:21
Dus een object gebruiken ;)Misschien werkt intern een assoc array hetzelfde als een object (weet ik niet) maar het gebruik voor de user is zeker wel anders. :) Het ligt er dus een beetje aan wat je het meest ligt. Beide principes doen hetzelfde, maar het gebruik is anders :)

hmm, alles kan, maar ook gewone arrays hoor. als je twee arrays maakt met alle woorden op dezelfde plaats is er niets aan de hand. arr_words_nl[8] bevat dan hetzelfde woord (maar in vertaling) als arr_words_uk[8].Het kan ook met gewone arrays, maar op die manier is het veel meer foutgevoelig. Als 1 woordje niet op dezelfde plaatst staat in de 2 arrays, is je hele systeem ontregeld. Met een object of een assoc array maak je de kans op dat soort foutjes kleiner omdat je niet met een index werkt maar met een woord als key :)

TheSilentWitness
%Europe/Berlin %805 %2005, 20:20
Edit: En dacht dat je dat de gramatica ook vanzelf goed gaat?
Nee, grammatica is niet mijn bedoeling:P Gewoon een klein testprogrammatje voor mezelf:-)


Maar als ik het op deze manier doe:
var lijst= new Array()
lijst["broer"] = "Bruder";
lijst["zuster"] = "Schwister";
lijst["vader"] = "Vater";
lijst["moeder"] = "Muter";


Is het dan ook mogenlijk hier een random woord uit te halen?
Want met getallen gaat het op deze manier dus niet:-(

Fatty Owl
%Europe/Berlin %897 %2005, 22:31
zoiets misschien? maar dan ben je wel even bezig...
var lijst= var lijst = new Array();
lijst["broer"] = "Bruder";
lijst["zuster"] = "Schwister";
lijst["vader"] = "Vater";
lijst["moeder"] = "Muter";
var test = random(3)+1;
if (test == 1) {
trace(lijst.broer);
} else if (test == 2) {
trace(lijst.zuster);
} else if (test == 3) {
trace(lijst.vader);
} else if (test == 4) {
trace(lijst.moeder);
}

Roenes
%Europe/Berlin %923 %2005, 23:10
Fatty, dat gaat niet werken. Een assoc array werkt niet met indexes dus kun je ook niet met een random getal een key aanspreken. Hoe je random een waarde uit zo'n array moet halen weet ik eerlijk gezegd niet. :)

mateo)
%Europe/Berlin %958 %2005, 23:59
het kan allemaal op heel veel manieren...
hier zijn twee voorbeeldjes

var woordenlijst:Array = new Array();
// woord met vertaling in sub array
woordenlijst[0] = ["Vater", "vader"];
//of woord met vertaling als object:
woordenlijst[1] = {Duits:"Mutter", Nederlands:"moeder"};
trace(woordenlijst[0][0] + " = " + woordenlijst[0][1]);
trace(woordenlijst[1].Duits + " = " + woordenlijst[1].Nederlands);