![]() |
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
|
Časová jednotka | Zkratka |
---|---|
milisekunda | ms |
sekunda | s |
minuta | m |
hodina | h |
Interně se tento typ převádí na milisekundy a pak je uložen do proměnné typu Double. Přesnost je tedy pro běžné použití více než dostatečná.
Podporovány jsou i základní aritmetické operace. Tento časový typ můžeme sčítat či odčítat s jiným časovým typem a násobit nebo dělit ho číslem. Nemožnost násobení (5m * 2s) sice nepřekvapí, ale dělení by implementováno být mohlo (1h / 5m).
var z:Duration; z = 5.1372143246712927413210101ms; z += 3s; println(z);
Vytiskne 3005.1372143246713ms. Výsledek je vždy tisknut v milisekundách.
Void typ se používá k označení že funkce nevrací žádnou hodnotu. Nelze deklarovat proměnné či konstanty typu void.
function test4(a:Number):Void { println("Hodnota argumentu je {a}"); }
Void lze v deklaraci funkce vynechat. Pokud není definován výstupní typ tak a pokud funkce neobsahuje příkaz return tak je explicitně vracen Void.
function test4(a:Number) { println("Hodnota argumentu je {a}"); }
Pokud funkce obsahuje příkaz return tak se výstupní typ odvodí z podle stejných pravidel jaká se používají při odvozování typů při přiřazovacích příkazech. Toto je u staticky typovaného jazyka zajímavé. Z pohledu javafx kompilátoru se za neuvedené typy argumentů a návratových hodnot u kterých se nepodařilo automaticky najít typ implicitně dosazuje typ Object. Podívejme se na příklad:
function test5(a) { println("Hodnota argumentu je {a}"); return a; } println(test5(1.23545454445454545452)); println(test5("Kamerun")); // Výstup: Hodnota argumentu je 1.2354546 1.2354546 Hodnota argumentu je Kamerun Kamerun
Příklad funguje jen protože funkce println volá z předaného objektu metodu toString(). Následující více sofistikované žonglování s typy nám ale již fungovat nebude:
function test5(a) { println("Hodnota argumentu je {a}"); return a; } var s:String; s = test5("a"); // nelze přiřadit typ Object do typu String s = test5("a").toString(); // toto je vpořádku
Posledním typem je typ funkce. Jedná se o ekvivalent ukazatelů na funkce jak je známe z jazyka C. V Javě se používá pro dosažení stejného efektu Java reflection API. Pro programování animací se ukazatele na funkce velmi dobře hodí, protože umožňují flexibilněji programovat rozšíření stávající funkcionality bez použití tříd či rozhraní.
Při deklaraci proměnné typu funkce je nutné uvést typy argumentů a návratový typ. Pokud se typy argumentů neuvedou je předpokládáno že je funkce bez argumentů a pokud není uveden návratový typ tak se předpokládá Void.
Do proměnné typu funkce můžeme přiřadit nějakou již existující funkci a pak ji volat.
function test5(a) { println("Hodnota argumentu je {a}"); return a; } var myfunc: function(:Object) :Object; myfunc = test5; myfunc("Zero");
Protože vše je v JavaFX výraz, tak můžeme provést i následující příklad. Všimněte si, že při definici funkce již nemusíme uvádět typy u argumentů, protože jsme je již uvedli při deklaraci.
var myfunc: function(:String) :Object; myfunc = function(a) { return a;} myfunc(1.2);
A poslední věc na kterou se dnes podíváme je hodnota null. Tuto hodnotu můžeme však v JavaFX přiřadit jen do proměnných nenumerických typů. Tedy do String a hierarchie tříd s počátkem v třídě Object.
var n:Number; var s:String; var o:Object; n = null; // chyba s = null; o = null;
|
||
KOMENTARZE
Nie ma komentarzy dla tej pozycji. |
||
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
1. |
Pacman linux Download: 5093x |
2. |
FreeBSD Download: 9307x |
3. |
PCLinuxOS-2010 Download: 8795x |
4. |
alcolix Download: 11188x |
5. |
Onebase Linux Download: 9908x |
6. |
Novell Linux Desktop Download: 0x |
7. |
KateOS Download: 6458x |
1. |
xinetd Download: 2619x |
2. |
RDGS Download: 937x |
3. |
spkg Download: 5243x |
4. |
LinPacker Download: 10385x |
5. |
VFU File Manager Download: 3394x |
6. |
LeftHand Mała Księgowość Download: 7482x |
7. |
MISU pyFotoResize Download: 3086x |
8. |
Lefthand CRM Download: 3755x |
9. |
MetadataExtractor Download: 0x |
10. |
RCP100 Download: 3371x |
11. |
Predaj softveru Download: 0x |
12. |
MSH Free Autoresponder Download: 0x |