26.07.2014, 21:57
Die Typenprüfung ist auf jedenfall sehr sehr sinnvoll!
Es gibt noch ein paar Kleinigkeiten:
- die Abfrage schlägt fälschlicherweise fehl, wenn der Wert direkt von einer Funktion kommt und zurückgegeben wird:
[ab3]Syntax 6
NEWTYPE.myType
x.l
End NEWTYPE
Function.myType myFunc1{}
Function Return Null
End Function
Function.myType myFunc2{}
Function Return myFunc1{} ; compiler error
End Function
Function.myType myFunc3{}
*x.myType = myFunc1{}
Function Return *x ; ok
End Function
End[/ab3]
- es findet kein Check bei Primitiven statt, e.g. *rp.RastPort = w.w ist möglich
Es gibt noch ein paar Kleinigkeiten:
- die Abfrage schlägt fälschlicherweise fehl, wenn der Wert direkt von einer Funktion kommt und zurückgegeben wird:
[ab3]Syntax 6
NEWTYPE.myType
x.l
End NEWTYPE
Function.myType myFunc1{}
Function Return Null
End Function
Function.myType myFunc2{}
Function Return myFunc1{} ; compiler error
End Function
Function.myType myFunc3{}
*x.myType = myFunc1{}
Function Return *x ; ok
End Function
End[/ab3]
- es findet kein Check bei Primitiven statt, e.g. *rp.RastPort = w.w ist möglich