DefaultDict in twinBASIC crashes compiler
I'm trying to make a defaultdict in twinBASIC - this is one where if a key does not exist in a dictionary then it is populated by a default value according to some type. This is what I've tried:
Private Class DefaultDict(Of T)
Implements Scripting.Dictionary Via dict
Private dict As Dictionary
Private defaultValue As T
Public Property Get Item(ByVal key As Variant) As Variant Implements Scripting.Dictionary.Item
If Not dict.Exists(key) Then
dict(key) = defaultValue
End If
Return dict(key)
End Property
End Class
Called like:
Dim dict As New DefaultDict(Of Long)
dict("foo") += 1 'foo key defaults to 0
Debug.Print dict("foo") 'should be 1
However this just crashes the compiler. What's the proper approach here?
Comments
Post a Comment