Forum huvudsida -> Programmering -> Funktioner med Referenser
Sidor: 1
rqrd | 16:12 - 11:a Maj 2008 | Post #1 | |
Medlem Inlägg: 1 Skicka PM |
Förklara gärna lite bättre vad exakt den koden gör, förstår inte skillnaden mellan den och den koden som returnerar ett värde till funktionen. Sen undrar jag om detta: Skillnaden i koden finns då vi deklarerar argumenten/parametrarna till funktionen, då anger vi en ampersand (&-tecken) innan argumentets namn. Vad gör ampersand tecknet då? (&) Tack. |
ozamosi | 16:33 - 11:a Maj 2008 | Post #2 | |
Administratör Inlägg: 1129 Skicka PM |
&-tecknet skapar en referens. En referens är ett alias till innehållet. Antag att du har följande kod:
Om vi tar bort &-tecknet från skapandet av tal_i_funktion, så kommer tal_i_funktion att bli en ny variabel med värdet 3. När vi lägger till &-tecknet så blir tal_i_funktion Samma variabel som var. var har värdet 3, så tal_i_funktion har också det, men det intressanta är att om du sätter tal_i_funktion till t ex 4 så sätter du samtidigt även tal till 4, eftersom både tal_i_funktion och tal är samma variabel. Edit: en poäng med det är att du kan trycka in flera referenser i en funktion. Om du t ex vill göra en funktion för att ta reda på dimensionerna och positionen på en låda på skärmen om du gör ett 2d-spel (x, y, bredd, höjd alltså), så kan du göra en funktion som vill ha som argument själva lådan, och variabler för x, y, bredd och höjd, som den skapar referenser till. Sedan kan den försöka fylla i alla de variablerna från låd-variabeln, för att slutligen returnera TRUE eller FALSE beroende på om den anser sig ha lyckats eller inte. ------------------------- Ljusblå Senast redigerad 16:39 - 11:a Maj 2008 |
FunkyChicken | 18:15 - 11:a Maj 2008 | Post #3 | |
Nyhetsredaktör Inlägg: 800 Skicka PM |
Citat av ozamosi:
Det där gick faktiskt att förstå om man försökte riktigt, riktigt, ordentligt. Saken är alltså den att om du skickar en variabel till en funktion "som vanligt" så får funktionen bara en kopia av variabeln och kan inte ändra på den riktiga variabeln. Skriver du & först så skickas en referens till originalvariabeln, och alla ändringar som görs i funktionen påverkar också den. Det kan vara bra eller dåligt, beroende på vad man vill ska hända. Det & gör rent tekniskt är att istället för att skicka med variabelns värde och kopiera det till en ny variabel, så skickar den minnesaddressen till där värdet är sparat. |
Sidor: 1
Forum huvudsida -> Programmering -> Funktioner med Referenser
Du får inte posta i den här tråden | Till toppen
Datum
2024-05-02 23:38
Vecka: 18
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.