Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   глюк Switch или рекурсии? (http://www.flasher.ru/forum/showthread.php?t=94681)

abel_vik 17.04.2007 20:27

глюк Switch или рекурсии?
 
Доброго времени суток :)

Пишу такую функцию
Код:

var randomNumb = function(min:Number, max:Number):Number {
        return (Math.round(Math.random()*(max-min)+min))
}

var getChar = function(param:String):String{
        // Numbers      48-57
        // Big symbols    66-90
        // Small symbols 97-122
        switch (param){
                case "numbers":{
                        // random number
                        return String.fromCharCode(randomNumb(48,57));
                        break;
                }
                case "letters":{
                        // random letters
                        if (Math.round(Math.random())){
                                return (getChar("sletter"))
                        } else {
                                return (getChar("bletter"))
                        }
                        break;
                }
                case "bletter":{
                        // big letters
                        return String.fromCharCode(randomNumb(66,90));
                        break;
                }
                case "sletter":{
                        // small letters
                        return String.fromCharCode(randomNumb(97,122));
                        break;
                }
                default :{
                        if (Math.round(Math.random())){
                                return (getChar("numbers"))
                        } else if (Math.round(Math.random())){
                                        return (getChar("letters"))
                                }
                        break;
                }
        }

}

По идее при defult-е должно выдавать либо число либо символ, а при trace периодически проскакивает undefined.
Подскажите в чем дело.

АААА......все разобрался.....нада так
Код:

var getChar = function(param:String):String{
        // Numbers      48-57
        // Big symbols    66-90
        // Small symbols 97-122
        switch (param){
                case "numbers":{
                        // random number
                        return String.fromCharCode(randomNumb(48,57));
                        break;
                }
                case "letters":{
                        // random letters
                        if (Math.round(Math.random())){
                                return (getChar("sletter"))
                        } else {
                                return (getChar("bletter"))
                        }
                        break;
                }
                case "bletter":{
                        // big letters
                        return String.fromCharCode(randomNumb(66,90));
                        break;
                }
                case "sletter":{
                        // small letters
                        return String.fromCharCode(randomNumb(97,122));
                        break;
                }
                default :{
                        if (Math.round(Math.random())){
                                return (getChar("numbers"))
                        } else {
                                return (getChar("letters"))
                                }
                        break;
                }
        }

}

Можно удалять эту тему.
Извените что намусорил :)


Часовой пояс GMT +4, время: 14:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.