Что нового

Странный выбор Switch

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
В этом скрипте у меня срабатывает условие Case 0. Не могу понять почему.
Код:
$sVar = 'some text'
Switch $sVar
	Case 0
		ConsoleWrite("!!! ПОДОШЛА ПОД 0" & @LF)
	Case 1
		ConsoleWrite("!!! ПОДОШЛА ПОД 1" & @LF)
	Case 'some text'
		ConsoleWrite("Правильный результат" & @LF)
	Case Else
		ConsoleWrite("!!! ELSE " & $sVar & @LF)
EndSwitch


Version: 3.3.8.1 и Version: 3.3.9.4
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,484
inververs [?]
В этом скрипте у меня срабатывает условие Case 0. Не могу понять почему.
Потому что для AutoIt 'строка' и 0 это одно и тоже, нужно проверять строковое значение:

Код:
$sVar = 'some text'
Switch $sVar
    Case '0'
        ConsoleWrite("!!! ПОДОШЛА ПОД 0" & @LF)
    Case '1'
        ConsoleWrite("!!! ПОДОШЛА ПОД 1" & @LF)
    Case 'some text'
        ConsoleWrite("Правильный результат" & @LF)
    Case Else
        ConsoleWrite("!!! ELSE " & $sVar & @LF)
EndSwitch
 
Верх