webForumDet fria alternativet
Logga in / Bli medlem

Function(Arglist)

ASP

8 svar · 345 visningar · startad av toha

Medlem sedan dec. 1999707 inlägg
Trådstart#1

Går det att få ut argumenten för en viss funktion som en collection. Hur använder man sig av det i funktionen?

Kan man på det sättet "härma" överlagrade funktioner. Dvs skapa en funktion som hanterar anrop oavsett om man vill ex. skicka in en eller två argument? Ex-anrop till en funtion med namnet GetParam():

Response.Write(GetParam("minparameter"))
...
Response.Write(GetParam("minparameter", "defaultvärdeOmSaknas"))

Är det möjligt?

Medlem sedan juni 200032 967 inlägg
#2

VBScript stödjer inte optionalargument, om det är svar på din fråga?

Medlem sedan dec. 1999707 inlägg
#3

Jag funderade bara på att det i referensen för en funktion i VBScript står:

Public [Default] | Private] Function name [(arglist)]

...

arglist
List of variables representing arguments that are passed to the Function procedure when it is called. Commas separate multiple variables.

...

The arglist argument has the following syntax and parts:

[ByVal | ByRef] varname[( )]

Jag förstår inte riktigt hur jag kan använda mig av det. Funderade på om man kunde använda sig av det på samma sätt man kan göra i JavaScript. Men property:n "arguments" i en function. :q

Medlem sedan juni 200032 967 inlägg
#4

Inte mig veterligen. Har du en länk till citerad referens? :)

mvh

Medlem sedan dec. 1999707 inlägg
#5

Det var nog jag som läste en sak och tänkte en helt annan, i vanlig ordning. hehe

http://msdn.microsoft.com/library/en-us/script56/html/vsstmFunction.asp?frame=true

Tack iaf :)

Medlem sedan maj 200010 687 inlägg
#6

I VB kan man skriva så här:

Public Function Foo(ParamArray ArgList() As Variant)
	Dim vArray As Variant, i As Long
	vArray = ArgList()
	For i = 0 To UBound(vArray)
		MsgBox vArray(i)
	Next i
End Function

Du får alltså en metod där du skickar in ett obestämt antal argument som man sen använder som en array inuti metoden.
Ungefär som funktionen Array i VBScript.

Detta är dock inte samma sak som Optional argument även om man kan använda det för samma sak om man vill göra det krångligt. :)

Medlem sedan dec. 1999707 inlägg
#7

IC. men går det att använda i VBScript?

Medlem sedan maj 200010 687 inlägg
#8

Nej! Du kan däremot anropa metoder som de här från VBScript.

Medlem sedan dec. 1999707 inlägg
#9

Tack så mycket Erik och @nders! :)

257 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)