Próbuję napisać ekwiwalent VBScript o funkcji podobnej do tego, co poniżej:Powracająca wartość zerowa lub nic z funkcji VBScript?
object getObject(str)
{
if (...)
{
return object_goes_here;
}
return null;
}
Moje przypuszczenie byłoby poniżej, z wyjątkiem, że nie jestem zrozumienie różnicy między nic i Null. Jako rozmówca wolę przetestować, czy wartość zwracana jest ustawiona za pomocą IsNull()
versus X Is Nothing
.
Function getObject(str)
If ... Then
Set getObject = object_goes_here
Exit Function
End If
Set getObject = Nothing // <-- or should this be Null?
End Function
Jak InStr uciec z nim? Wygląda na to, że zwraca .NET odpowiednik Nullable. http://www.w3schools.com/vbscript/func_instr.asp –
jglouie
@jglouie 'InStr' akceptuje' VARIANT' jako jego parametr, a nie obiekt. Następnie sprawdza "WARIANT" i stara się dać ci to, czego się spodziewałeś. Zwracanie 'Null' jeśli operandem łańcuchowym jest' Null' jest bardzo standardową wspólną koncepcją pochodzącą z baz danych. Jeśli chodzi o ciągi w VB6 (i VBScript), to i tak nie są obiektami, nie mogą być "Nic". Cóż, w pewnym sensie mogą, ale to się nazywa 'vbNullString' i nie jest wykrywany z' Is Nothing'. – GSerg