論理演算がおかしい

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
kaz

論理演算がおかしい

#1 投稿記事 by kaz »

以下のコードをAB5cp5で実行すると
FALSEとTRUEを交互に出力します。
論理演算にバグがあるようです。

コード: 全て選択

Dim i As Long
For i=0 To ELM(100)
    If i And (1 > 0) Then
        Print i, ":TRUE"
    Else
        Print i, ":FALSE"
    End IF
Next
バグは修正してもらえるのでしょうか?
ABの開発は終了したのでしょうか?
イグトランス
記事: 899
登録日時: 2005年5月31日(火) 17:59
お住まい: 東京都
連絡する:

#2 投稿記事 by イグトランス »

報告ありがとうございます。
これの対策は、暫定的ですが>演算子の結果をいったんLongか何かの整数型の変数へ代入すればとりあえず期待通りの結果になります。

コード: 全て選択

Dim i As Long
For i=0 To ELM(100)
	Dim j As Long
	j = 1 > 0
    If i And j Then
        Print i, ":TRUE", j
    Else
        Print i, ":FALSE", j
    End IF
Next
これはバグとしてAB5正式版までには直されると思います。申し訳ありませんが気長にお待ちください。
返信する