haXe学习笔记(三)
一、跨平台类
1. 集合类
Array
List
Hash
IntHash
2. Std
static?function?int( x :?Float?) :?Int
static?function?is( v :?Dynamic, t :?Dynamic?) :?Bool
static?function?parseFloat( x :?String?) :?Float
static?function?parseInt( x :?String?) :?Null<Int>
static?function?random( x :?Int?) :?Int
static?function?string( s :?Dynamic?) :?String
3. haxe包,大部分类跨平台
remoting包:某些平台下无法使用:比如嵌入网页的Flash,无法创建TCP服务
rtti包:Run Time Type Information,相当于反射
http包:用于创建HTTP请求,并获取相应,某些平台无法使用,比如Neko
4.?EReg类:Regular expressions,正则表达式
5. Xml类:用于解析、创建XML文件
二、平台独立类
1. js包:只包含一些表示DOM的typedef
2. flash包:分2个版本flash8以下和flash9
3. neko包
4. php包
5. cpp包
三、条件编译
1. #if、#else、#elseif、#end
2.?通过命令行-D参数定义flag
3. 预定义的不同平台的flag:js、flash、neko、php、cpp
四、remap开关
myPack.Lib.println("Hello remapping!");
?编译选项加入--remap myPack:neko,这样所有用到myPack的地方都被换成neko,虽然这样很便于编写跨平台代码,但这样就无法使用平台特有的功能
五、用条件编译和import实现跨平台
#if phpimport php.Lib;#elseif nekoimport neko.Lib;#end