/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
funktioner i funktioner
Fra : Thomas Smedebøl


Dato : 20-04-06 21:52

er det muligt at lave funktioner i funktioner (altså lokale funktioner)
i asp, og i givet fald, hvordan gør man så?

Mvh Thomas

 
 
Jørn Andersen (21-04-2006)
Kommentar
Fra : Jørn Andersen


Dato : 21-04-06 04:05

On Thu, 20 Apr 2006 22:51:47 +0200, Thomas Smedebøl
<whisdow@hotmail.com> wrote:

>er det muligt at lave funktioner i funktioner (altså lokale funktioner)
>i asp, og i givet fald, hvordan gør man så?

Du laver dem såmænd bare på samme måde som hvis de stod uden for
funktionen.

Function fktKvadrat(x)
fktKvadrat = x * x
End Function

Function fktDobbeltKvadrat(y)
Dim z
z = fktKvadrat(y)
fktDobbeltKvadrat = 2 * z
End Function

Response.Write fktDobbeltKvadrat(4)
skulle så gerne skrive 32.

På samme måde kan du kalde en funktion fra sig selv, men så skal du
huske at have en tællemekanisme, der kan stoppe den, ellers bliver det
til en uendelig loop


Good luck!

--
Jørn Andersen,
Brønshøj

Thomas Smedebøl (21-04-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 21-04-06 05:52


> Du laver dem såmænd bare på samme måde som hvis de stod uden for
> funktionen.

Det du viser er ikke funktioner i funktioner - det er funktioner kaldt
fra funktioner.

Det jeg efterlyser ville se ud noget i denne stil:

> Function fktDobbeltKvadrat(y)
> Dim z
> Function fktKvadrat(x)
> fktKvadrat = x * x
> End Function > z = fktKvadrat(y)
> fktDobbeltKvadrat = 2 * z
> End Function

Mvh Thomas

Jesper Stocholm (21-04-2006)
Kommentar
Fra : Jesper Stocholm


Dato : 21-04-06 08:09

Thomas Smedebøl <whisdow@hotmail.com> wrote in news:444864e4$0$15785
$14726298@news.sunsite.dk:

>
>> Du laver dem såmænd bare på samme måde som hvis de stod uden for
>> funktionen.
>
> Det du viser er ikke funktioner i funktioner - det er funktioner kaldt
> fra funktioner.
>
> Det jeg efterlyser ville se ud noget i denne stil:
>
> > Function fktDobbeltKvadrat(y)
>> Dim z
>> Function fktKvadrat(x)
>> fktKvadrat = x * x
>> End Function > z = fktKvadrat(y)
>> fktDobbeltKvadrat = 2 * z
>> End Function

Måske er jeg blind - men hvad skulle formålet være med det?

--
Jesper Stocholm
http://stocholm.dk
Hvor køber du slik, cola eller smøger online?
Send linket til mig via http://ekiosk.dk

Michael Zedeler (21-04-2006)
Kommentar
Fra : Michael Zedeler


Dato : 21-04-06 08:42

Jesper Stocholm wrote:
> Thomas Smedebøl <whisdow@hotmail.com> wrote in news:444864e4$0$15785
> $14726298@news.sunsite.dk:
>
>>Det jeg efterlyser ville se ud noget i denne stil:
>>
>> > Function fktDobbeltKvadrat(y)
>>
>>> Dim z
>>> Function fktKvadrat(x)
>>> fktKvadrat = x * x
>>> End Function > z = fktKvadrat(y)
>>> fktDobbeltKvadrat = 2 * z
>>>End Function
>
> Måske er jeg blind - men hvad skulle formålet være med det?

Det er lokale funktioner, som man kun bruger i den funktion, de er
indlejret i. Det kan nogle gange være meget nyttigt, hvis man skal
udføre den samme operation flere gange rundt omkring i funktionen.

Jeg er ikke klar over om VBScript understøtter det.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Jesper Stocholm (21-04-2006)
Kommentar
Fra : Jesper Stocholm


Dato : 21-04-06 10:18

Michael Zedeler <michael@zedeler.dk> wrote in news:5102g.22$1v1.17
@news.get2net.dk:

> Jesper Stocholm wrote:
>> Thomas Smedebøl <whisdow@hotmail.com> wrote in news:444864e4$0$15785
>> $14726298@news.sunsite.dk:
>>
>>>Det jeg efterlyser ville se ud noget i denne stil:
>>>
>>> > Function fktDobbeltKvadrat(y)
>>>
>>>> Dim z
>>>> Function fktKvadrat(x)
>>>> fktKvadrat = x * x
>>>> End Function > z = fktKvadrat(y)
>>>> fktDobbeltKvadrat = 2 * z
>>>>End Function
>>
>> Måske er jeg blind - men hvad skulle formålet være med det?
>
> Det er lokale funktioner, som man kun bruger i den funktion, de er
> indlejret i. Det kan nogle gange være meget nyttigt, hvis man skal
> udføre den samme operation flere gange rundt omkring i funktionen.

Hvorfor laver du det ikke bare som en almindelig funktion? Det giver mere
genbrugelig kode, så du kan bruge den alle steder fra.

--
Jesper Stocholm
http://stocholm.dk
Hvor køber du slik, cola eller smøger online?
Send linket til mig via http://ekiosk.dk

Thomas Smedebøl (21-04-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 21-04-06 13:40

> Hvorfor laver du det ikke bare som en almindelig funktion? Det giver mere
> genbrugelig kode, så du kan bruge den alle steder fra.

Det er uhensigtsmæssigt i forhold til det jeg laver:
med indlejrede funktioner ville jeg i forskellige funktioner kunne have
lokale funktioner med samme navn, men med forskellig funktionalitet.
Eksempelvis kunne en funktion malRød() være aktuel i både funktionen
bygBil() og tegnBilled() selvom funktionen langt fra udføre det samme
arbejde. Jeg ville også være istand til at kopiere en enkelt funktion,
og være sikker på at alt hvad den skulle bruge var med i kopieringen.

Med venlig hilsen
Thomas

Peter Lykkegaard (21-04-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 21-04-06 13:54

Thomas Smedebøl wrote:

> Det er uhensigtsmæssigt i forhold til det jeg laver:
> med indlejrede funktioner ville jeg i forskellige funktioner kunne
> have lokale funktioner med samme navn, men med forskellig
> funktionalitet. Eksempelvis kunne en funktion malRød() være aktuel i
> både funktionen bygBil() og tegnBilled() selvom funktionen langt fra
> udføre det samme arbejde. Jeg ville også være istand til at kopiere
> en enkelt funktion, og være sikker på at alt hvad den skulle bruge
> var med i kopieringen.
Det er det klasser er til for :)

- Peter



Thomas Smedebøl (21-04-2006)
Kommentar
Fra : Thomas Smedebøl


Dato : 21-04-06 15:45

> Det er det klasser er til for :)

Ja - men nu ville jeg gerne undvære at lave en klasse i det specifikke
tilfælde.

mvh Thomas

Peter Lykkegaard (22-04-2006)
Kommentar
Fra : Peter Lykkegaard


Dato : 22-04-06 09:12

Thomas Smedebøl wrote:
>
> Ja - men nu ville jeg gerne undvære at lave en klasse i det specifikke
> tilfælde.
>
Så vælg et andet sprog end VBScript

- Peter



Michael Zedeler (21-04-2006)
Kommentar
Fra : Michael Zedeler


Dato : 21-04-06 14:05

Jesper Stocholm wrote:
> Michael Zedeler <michael@zedeler.dk> wrote in news:5102g.22$1v1.17
> @news.get2net.dk:
>
>>Det er lokale funktioner, som man kun bruger i den funktion, de er
>>indlejret i. Det kan nogle gange være meget nyttigt, hvis man skal
>>udføre den samme operation flere gange rundt omkring i funktionen.
>
> Hvorfor laver du det ikke bare som en almindelig funktion? Det giver mere
> genbrugelig kode, så du kan bruge den alle steder fra.

Nogle gange er der tale om specialiserede funktioner, som aldrig bliver
brugt andre steder. I den situation er det meget rart at kunne gemme dem
af vejen, så de ikke ligger og roder rundt i det offentlige namespace.

Desuden kan man også bruge det til at strukturere større funktioner, så
de bliver afviklet i flere, mindre funktioner.

Jeg vil gerne indrømme at jeg sjældent bruger det, men det er rart at
kunne en gang imellem. Jeg vil helst ikke undvære det.

Mvh. Michael.
--
Which is more dangerous? TV guided missiles or TV guided families?
Visit my home page at http://michael.zedeler.dk/
Get my vcard at http://michael.zedeler.dk/vcard.vcf

Søg
Reklame
Statistik
Spørgsmål : 177483
Tips : 31964
Nyheder : 719565
Indlæg : 6408395
Brugere : 218884

Månedens bedste
Årets bedste
Sidste års bedste