コード:
Class Boolean
Private
Num As Long
Public
Sub Boolean()
Num=0
End Sub
Function Operator() As Long
Return Num
End Function
Sub Operator= (Data As Long)
If Data<>0 Then Num=-1 Else Num=0
End Sub
Function Operator== (Data As Long) As Long
If Data<>0 Then Data=-1
Return (Data And Num)
End Function
End Class
#prompt
Dim a As Boolean
a=10
If Not a Then
Print "True"
Else
Print "False"
End If
「Booleanを作ったらいい」という投稿があり、興味があったので自作してみたものです(他の言語の仕様とは異なる部分があるかと思いますが)。
しかし、上のコードを実行したとき、なぜか表示結果は「True」になります。
「If Not a Then」 → 「If Not (a As Long) Then」
こうすると「False」を返してくれます。
ActiveBasicの仕様なのかもしれませんが、調査をお願いします。