Как разрешить функции любого типа данных возвращаться в ActionScript 3? - PullRequest
1 голос
/ 11 августа 2009

У меня есть класс статических настроек, из которого мое приложение может получать настройки. Проблема в том, что некоторые из этих настроек являются строками, а другие - числами или числами. Пример:

package
{
    public final class Settings
    {
        public static function retrieve(msg:String)
        {
            switch (msg)
            {
                case "register_link":
                    return "http://test.com/client/register.php";
                    break;
                            case "time_limit":
                                   return 50;
                                   break;
            }
        }
    }
}

Теперь в первом случае следует отправить строку, а во втором - uint. Тем не менее, как мне установить это в объявлении функции? Вместо например функция извлечения (msg: String): String или ...: uint? Если я не установил тип данных, я получу предупреждение.

Ответы [ 2 ]

3 голосов
/ 12 августа 2009

HanClinto ответил на ваш вопрос, но я хотел бы также отметить другое возможное решение, которое сохраняет тип возвращаемых данных. Я также считаю, что это более чистое решение.

Вместо статической функции извлечения вы можете просто использовать статические константы, такие как:

package
{
    public final class Settings
    {
        public static const REGISTER_LINK:String = "my link";
        public static const TIME_LIMIT:uint= 50;            
    }
}

И так далее. Это личное предпочтение, но я думал, что выброшу его туда.

2 голосов
/ 11 августа 2009

Использовать *

public static function retrieve(msg:String):*
{
  if (msg == "age") {
    return 23;
  } else {
    return "hi!";
  }
}
...