Просмотр полной версии : MTASC и условный оператор - проблема
Друзья, пишу в FD и компилю mtasc'ом:
class Test
{
public static function main():Void
{
var a:Boolean = true;
var b:Number = 0;
a ? Test.getTrace() : b = 2;
}
public static function getTrace():Void{
trace('ok');
}
}что приводит к ошибке:
src/Test.as:7: characters 2-29 : type error Void should be Number
Что тут не так? ...никак не пойму, подскажите pls :)
chingachgoog
20.06.2008, 15:58
a ? getTrace() : b = 2;
не не... public static... да и не важно, проблема в другом
Наверно это баг мтаска, переписать под if else
ясно. тоже подумал что баг... :)
Ну, можно ему "помочь" =)
a ? Number(Test.getTrace()) : b = 2;
Ну, можно ему "помочь" =)
a ? Number(Test.getTrace()) : b = 2;
ругается
chingachgoog
20.06.2008, 19:38
не не... public static... да и не важно, проблема в другом
Я, конечно, не в мтаске делаю, а в обычном флеш редакторе, но ваш код с a ? Test.getTrace() : b = 2 вызывает ошибку у компилятора, а a ? getTrace() : b = 2 не вызывает.
(понятно что функция статичная, ну и что - она же этого же класса?)
Еще интересно - несмотря на то, что компилятор ругается при a ? Test.getTrace() : b = 2 сам код работает :)
ругается
Ну... даж не знаю... у меня в стрикт муд откомпилировался и слова не сказал =)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.