OK, Arrays først.Arrays i director kaldes Lists, men er det samme som arrays. En vigtig undtagelse er, at første index position starter med 1 og ikke 0 som i mange andre sprog.
Der findes 2 former for lister. Linear og property(hash table) Linear list:
myLinearList = ["jakob","jesper","hanne"] put myLinearList[1] returnerer "jakob" put myLinearList.getPos("hanne") returnerer 3 put myLinearList.findPos("hanne") returnerer 3 put myLinearList.findPos("john") returnerer 0 myLinearList.delteAt(2) sletter index 2 fra listen
put myPropertyList.getOne("jakob") returnerer #navn
put myPropertyList.getPropAt(1) returnerer #navn
put myPropertyList.findpos(#navn) returnerer 1
myPropertyList.addProp(#farve, "blå") tilføjer en ny property og value put myPropertyList viser den nye liste: [#navn: "jakob", #point: 50, #farve: "blå"]
myPropertyList.sort() sorterer listen alfabetisk efter property put myPropertyList : [#farve: "blå", #navn: "jakob", #point: 50]
Du kan både slette med deleteAt og med
myPropertyList.DeleteProp(#farve)
Prøv at lege med det i message vinduet.
Med hensyn til Objekter. Lav et nyt script, kaldet f.eks. "mitObjekt" sæt typen til Parent script. (Klik på det lille script ikon og åben property inspector'en)
Her laver du en lille handler(funktion) der initialisere objektet
on new me return me end
me er objectets reference til sig selv (eller nærmere en adresse i RAM)
men det er jo stadig kun en template til objekter. For at lave et object, så åben message vinduet og skriv
jakob = new (script "mitObjekt")
put jakob vil bare vise en adresse i RAM, så scriptet skal selvfølgelig have sine egne personlige variabler(properties) og sine egne funktioner(handlers). Prøv at udvidde scriptet sådan her
---- SCRIPT -----
property pAlder
on new me, alder pAlder = alder return me end
on hvor_gammel_er_du me return pAlder end
Prøv så i messagevinduet :
jakob = new(script "m", 45)
put jakob.hvor_gammel_er_du() returnerer så 45.
Leg lidt med det, og vend tilbage hertil med evt. spørgsmål
TAK! det ser ud til at være præcis hvad jeg havde brug for. Jeg vender sikkert tilbage med lidt mere på et andet tidspunkt. Tak fordi du gad at skrive så meget
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.