Ekhm, to jest to! ...Jak mogę znaleźć typ var/name w Actionscript3?
Odpowiedz
Funkcja jest wywoływana typeof(). http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/operators.html#typeof
Jeśli pamięć służy mi rację, metoda flash.utils.describeType ręce, dokument XML z wszystkich odbitych typeinfo przedmiotu/rodzaju.
Rzeczywiście: http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#describeType%28%29
O tak, to w rzeczywistości zbyt wiele informacji o typach. Miałem nadzieję, że obejmuje to również rzeczywiste wartości nieruchomości. No cóż, dobrze o tym wiedzieć. – Pat
flash.utils.getQualifiedClassName(...)
Możesz przekazać dowolną wartość ActionScript do tej funkcji, aby uzyskać ciąg zawierający jej pełną nazwę klasy.
Operator is
jest do rozwiązania data:
var mySprite:Sprite = new Sprite();
trace(mySprite is Sprite); // true
To jednak nie odpowiada na pytanie, pytanie brzmi: "biorąc pod uwagę zmienną, jak się dowiem, jaki jest jej typ", a nie "biorąc pod uwagę zmienną, jak stwierdzić, czy jest to dany typ". –
Jeśli użytkownik zna możliwe typy var lub chce dowiedzieć się, czy var jest lub nie jest szczególnym rodzajem, to rozwiązanie będzie działać. Niektóre inne odpowiedzi odnoszą się do przestarzałych funkcji (np. Typeof). –
Jeśli potrzebujesz tylko najbardziej fundamentalną opis to typ, a następnie można użyć operatora typeof
, tak jak poniżej:
var foo:String = "test";
trace(typeof foo);
// string
Jest to wygodne, ale ma tę wadę. Że jest to zawsze daje typ bazowy zmiennej, na przykład:
var foo:Array = ["A","B","C","D"];
trace(typeof foo);
//object
var bar:int = 5;
trace(typeof bar);
//number
var hummer:Car = new Car();
trace(typeof hummer);
//Vehicle
które są zarówno technicznie w porządku, ale nie może być to, czego szukasz.
Jeśli chcesz bardziej konkretny typ (tj Array
, String
itd.), To trzeba użyć nieco bardziej skomplikowany getQualifiedClassName()
funkcji z pakietu flash.utils
:
import flash.utils.getQualifiedClassName;
var foo:Array = ["A","B","C","D"];
trace(getQualifiedClassName(foo));
//Array
var bar:int = 5;
trace(getQualifiedClassName(bar));
//int
var hummer:Car = new Car();
trace(getQualifiedClassName(hummer));
//Car
- 1. Różnica między typem [] varName a typem varName []?
- 2. Actionscript3: Czy zmienna istnieje?
- 3. JavaScript w przeglądarce, by PHP $$ varname
- 4. Gdzie mogę znaleźć stałą HOST_E_CLRNOTAVAILABLE (typ HRESULT)?
- 5. Jak znaleźć typ zwrotu w VBA
- 6. W ActionScript3, jak uzyskać odwołanie do klasy obiektu?
- 7. Scala REPL: Jak znaleźć typ funkcji?
- 8. Jak mogę uzyskać typ System.Windows.Controls.Primitive.PopupRoot?
- 9. Jak mogę znaleźć rozmiar RDD
- 10. Jak mogę znaleźć liczbę elementów w tablicy?
- 11. Jak mogę znaleźć aktualną trasę w Railsach?
- 12. Get typ danych przechowywanych w ciągu znaków w Pythonie
- 13. Jak znaleźć typ zwrotu metody w języku JAVA?
- 14. Jak mogę znaleźć liczbę argumentów funkcji szablonu?
- 15. Gdzie mogę znaleźć Microsoft.Build.Utilities.v3.5
- 16. Jak mogę wymusić typ tablicy po jej zainicjowaniu w Scali?
- 17. Jak znaleźć przyczynę wyjątkiem jeśli typ jest Throwable
- 18. Jak mogę wyrazić typ "takeWhile for vector"?
- 19. Jak mogę użyć Cecil, aby znaleźć typ przekazany do ogólnej metody?
- 20. Jak mogę programowo określić mój typ procesora?
- 21. Jak mogę skomentować publicznie widoczny typ Enum?
- 22. Jak mogę określić typ parametru onmessage websocket?
- 23. Gdzie mogę znaleźć "j_security_check"?
- 24. Gdzie mogę znaleźć TableDiff.exe?
- 25. Gdzie mogę znaleźć GACUtil?
- 26. Jak mogę znaleźć pierwsze zatwierdzenie oddziału?
- 27. Jak mogę znaleźć długość danej GArray?
- 28. Jak mogę znaleźć średnią z N kolorów?
- 29. (W jaki sposób) Czy mogę znaleźć typ gniazda z deskryptora gniazda?
- 30. Jak mogę znaleźć identyfikator Arkusza Google SpreadSheet?
Oddaje ci "obiekt" dla wszystkich z wyjątkiem 5 predefiniowanych typów. – spender