Diese Frage ist meist nicht von Interesse, um die Funktionalität von VBScript besser zu verstehen. Ich erkenne, dass ich einfach ein wenig Casting machen kann, um zu wissen, was ich von meinem Code erwarten kann, aber in meiner Situation möchte ich verstehen, warum Casting oder irgendein "Workaround" notwendig ist. Der Einfachheit halber ist hier die Grundidee meines Code:Was ist der Rückgabetyp meiner VBScript-Funktion?
variable1 = 1
Public Function findSomethingInATextString(par1, par2)
[...searching with a Do Until loop code here...]
Result = 1
If([par2 is found in par1]) Then
Result = 0
End If
Return Result
End Function
variable1 = findSomethingInATextString("Hello World", "Hello")
Als ich das laufen bekomme ich einen Type Mismatch
Fehler. Ich verstehe nicht, warum das so ist. variable1
ist eine ganze Zahl und findSomethingInAString()
gibt eine Ganzzahl zurück. Sie scheinen derselbe Datentyp zu sein.
Ich arbeite in einer eingeschränkten Umgebung, in der ich nicht viel Debuggen kann (es ist schmerzlich langsam, in diesem Programm zu programmieren ...). Daher kann ich im Moment nicht sagen, um welchen Datentyp es sich handelt - ich weiß nur, dass es offensichtlich keine Ganzzahl ist.
Nach all dem und um sicherzustellen, dass meine Frage klar ist, ich bin neugierig zu wissen, was der Rückgabetyp meiner Funktion ist (wenn jemand zu wissen, geschieht), aber meine eigentliche Frage ist: Warum isn‘ t Der Rückgabetyp, der mit Variable1 übereinstimmt?
Dies ist nicht VBScript. In VBScript ist 'Variant' der einzige Datentyp. Bitte markieren Sie dies mit der richtigen Sprache. –
Saum, wenn Ihr Pseudocode _VBScript_ ... sein sollte. Es gibt keine 'Return'-Anweisung in _VBScript_. Eine Funktion gibt einen Wert zurück, indem sie ihrem Namen in einer oder mehreren Anweisungen der Prozedur einen Wert zuweist. Verwenden Sie 'findSomethingInAString = Result' anstelle von' Return Result' und lassen Sie das Wort _string_ in 'Public Function findSomethingInAString (par1, par2) weg.' – JosefZ
Oh oops. Einfach eine Angewohnheit, "string" in den Parameterteil zu setzen. Ich werde das bearbeiten. – Alamb