- Код: Выделить всё
#Compile Exe
#Dim All
Function PBMain () As Long
Local y As Long ,z As Long
y=z=1
MsgBox Str$(y)
End Function
В PBWin 9.04 выдается 0
#Compile Exe
#Dim All
Function PBMain () As Long
Local y As Long ,z As Long
y=z=1
MsgBox Str$(y)
End Function
Хакер писал(а):А что должно выдаваться?
Хакер писал(а):Ну второе «равно» ведь работает оператором сравнения.
jangle писал(а):Тогда компилятор должен ругаться на отсутствие IF.
y=z=1
If z = 1 Then y=z=1
jangle писал(а):Это же бейсик, а значит эта конструкция должна выглядеть так:
Хакер писал(а):jangle писал(а):Это же бейсик, а значит эта конструкция должна выглядеть так:
С чего бы ради?
y=z=1 эквивалентно Let y = (z=1) эквивалентно сишному y = z==1 эквивалентно паскалевскому y := z = 1.
Вот такая y = z <> 2 тебя меньше смущает?
y=z=1
jangle писал(а):Это более логично и правильно.
spamjokester писал(а):Интересно,что по моему скорости в VB60 это не добавляет
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18