์ธ์ด๋
ํด๋์ค ํ
์คํธ {
์ ์ ํจ์ ๋ฉ์ธ() {
์ต์ข
์ธ์ = [
"์๋ฆฌ์๋ฒ ์ค" => "ํ๋ก๊ทธ๋๋ฐ",
"์กฐ์" => "๋์์ธ"
];
for (์ด๋ฆ => ์ฌ๋์ ์ง์
) {
Trace('$name์ $์ผ์ ํด์ ์๊ณ๋ฅผ ์ ์งํ๊ณ ์์ต๋๋ค!');
}
}
}
๋ฒ์ 4.1์ ์๋ก์ด ๊ธฐ๋ฅ:
- ๊ผฌ๋ฆฌ ์ฌ๊ท ์ต์ ํ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ธ ์ฒ๋ฆฌ๋ฅผ ์ํ ์๋ก์ด ํตํฉ API๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- "try {} catch(e) {}" ๊ตฌ๋ฌธ์ "try {} catch(e: haxe.Exception) {}"์ ์ฝ์ด๋ก ํ์ฉ๋ฉ๋๋ค.
- ํ๊ฐ ํด์๊ธฐ์ SSL ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ๋์ JVM์ ๋ ์ด์ ์คํ์ ์ธ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ง ์์ต๋๋ค.
- ์ธ์ด ์๋ฒ ํ๋กํ ์ฝ์ ๊ฒฝ์ฐ "Goto ๊ตฌํ" ๋ฐ "์ฐธ์กฐ ์ฐพ๊ธฐ" ๊ธฐ๋ฅ์ ๋ํ ์ง์์ด ์ถ๊ฐ๋์์ต๋๋ค.
- ์์ฑ๋ ์ฝ๋์์ ์์ ์ง์ญ ๋ณ์์ ์ด๋ฆ ์ง์ ์ด ๊ฐ์ ๋์์ต๋๋ค. ์ค๋ณต๋ "๋ฐํ"์ ์ ๊ฑฐํ์ต๋๋ค. ๋ฐํ ๊ฐ์ด ์๋ ํ์ดํ ํจ์์์.
- ํ๋(getter๋ง, ๊ธฐ๋ณธ ํ ๋น ๋์)์์๋ ์ก์ธ์ค ์กฐํฉ(get, default)์ด ํ์ฉ๋ฉ๋๋ค.
- ํ๋์ ๋ํ ์ฆ๊ฐ ๋ฐ ๊ฐ์ ์ฐ์ฐ์ ํ์ฉ
์ถ์ ์ ํ . - ์ต๋ช ๋ฐ๋ณต์๋ฅผ ์ฌ์ฉํ์ฌ for ๋ฃจํ์ ์ธ๋ผ์ธ ์ฒ๋ฆฌ๊ฐ ๊ฐ์ ๋์์ต๋๋ค.
- js: ES5์ฉ StringMap ๊ตฌํ์ด ๊ฐ์ ๋์์ต๋๋ค.
- js: ์ปดํ์ผ๋ฌ ์ต์ "-D js-es=6"์ let ๋ณ์ ์์ฑ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ, ES6 ํด๋์ค ์์ฑ์ด ๊ฐ์ ๋์์ต๋๋ค.
- lua: "StringIterator" ์ต์ ํ, ์ค๋ฅ ์ฒ๋ฆฌ ๊ฐ์ .
- php: ๊ธฐ๋ณธ ์ ํ์ ๋ํด "Std.isOfType"์ด ์ต์ ํ๋์์ต๋๋ค.
- php: ์์ฑ๋ ๋ฐฐ์ด์ ์ด์ ๊ธฐ๋ณธ ์ธํฐํ์ด์ค "Iterator", "IteratorAggregate", "Countable"์ ๊ตฌํํฉ๋๋ค.
- cs: ๋ฉํ๋ฐ์ดํฐ "@:assembliesMeta" ๋ฐ "@:assembliesStrict"๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- Python: ์ต๋ช
๊ฐ์ฒด์ "__contains__" ๊ตฌํ์ ์ถ๊ฐํ์ต๋๋ค.
๋ฐ "__getitem__"์ ์์ฑ๋ ์ฝ๋์์ ์ฌ์ ์ผ๋ก ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. - jvm: ๊ฐ์ฒด๊ฐ ์ต๋ช
๊ตฌ์กฐ๋ก ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ ์ ํํ๋ ํจ์์ ์ก์ธ์คํ๊ณ ์ถ๊ฐ ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๋ ์๋ก์ด ๋ฐฉ๋ฒ ๋๋ถ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋์์ต๋๋ค(๋์ ์์ฑ ์กฐํ๊ฐ ๋ฐฉ์ง๋จ).
ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ์ฌํญ:
- "Array.contains" ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ต๋๋ค.
- ๋ฐฐ์ด์ ๋ํ ํค-๊ฐ ๋ฐ๋ณต("for (key => value in array)")์ ๊ตฌํํ๋ "Array.keyValueIterator"๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- ์ ์ฝ ์กฐ๊ฑด ์ ํ "haxe.Constraints.NotVoid"๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
- "findIndex" ๋ฐ "foldi" ํจ์๊ฐ "Lambda" ํด๋์ค์ ์ถ๊ฐ๋์์ต๋๋ค.
- "๋ฐฐ์ด ์ก์ธ์ค"("arr[i]"๋ฅผ ํตํ ์ก์ธ์ค) ๋ฐ "haxe.ds.HashMap"์ ๋ํ ํค-๊ฐ ๋ฐ๋ณต์ ๊ตฌํํ์ต๋๋ค.
- jvm: "StringMap", "sys.thread.Lock", "sys.thread.Thread"์ JVM ๊ด๋ จ ๋ฒ์ ์ ๊ตฌํํ์ต๋๋ค.
- java/jvm: "haxe.crypto" ๋ชจ๋์ "MD5", "SHA-1" ๋ฐ "SHA-256"์ ๊ธฐ๋ณธ ๊ตฌํ์ ์ฌ์ฉํ์ต๋๋ค.
- ๋งคํฌ๋ก: "haxe.macro.Context.containsDisplayPosition(pos)"์ ์ถ๊ฐํ์ต๋๋ค.
- nullsafety: "์๊ฒฉ" ๋ชจ๋๋ ์ด์ ๋จ์ผ ์ค๋ ๋๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. "StrictThreaded" ๋ชจ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- "Std.is"๋ "Std.isOfType"์ ์ํด ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ต๋๋ค.
- ํด๋ก์ ์ ๊ฐ ์์ด ์ง์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ ๋ ๊ฒฝ๊ณ ๊ฐ ์ถ๊ฐ๋์์ต๋๋ค.
- js: "untyped __js__(code, args)"๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ "js.Syntax.code(code, args)"๋ก ๋์ฒด๋ฉ๋๋ค.
- php/neko: "neko.Web" ๋ฐ "php.Web"์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์์ผ๋ฉฐ ๋์ค์ "hx4compat" ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก ์ด๋๋ฉ๋๋ค.
๋ค์ ๋ฆด๋ฆฌ์ค์์๋
- ํจํค์ง ๊ด๋ฆฌ์ ๊ฐ์
ํ์ ๋ฆฌ๋ธ . - ๋น๋๊ธฐ ์์คํ
API ๊ธฐ๋ฐ
๋ฆฌ๋ธ . - ์ฝ๋ฃจํด.
- ํด๋์ค๋ฅผ ์์ฑํ์ง ์๊ณ ๋ชจ๋์ ์ ์ ํจ์ ๋ฐ ๋ณ์ ์ ์ธ(์ด๋ฏธ ์ผ๊ฐ ๋น๋์์ ์ฌ์ฉ ๊ฐ๋ฅ)
์ถ์ฒ : opennet.ru