`
patoto
  • 浏览: 14513 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

haXe学习笔记(四)

    博客分类:
  • haXe
 
阅读更多

一、显式变量:定义变量时申明变量类型

比如: var myVar:String;

变量未赋值之前不能使用

一旦变量类型申明后,不能再赋值其他类型的值

但可以用其他类型重新申明变量,比如var myVar:Int,但最好不要这样做

二、函数变量

函数public function outputString(st : String) : Void;的类型为String->Void

public function sumAndCeil(a : Float, b : Int) : Int类型为Float->Int->Int

public function filter(f : String->Bool) : List<String>类型为(String->Bool)->List<String>

public function takesStringReturnsFunction(s : String) : String->Bool类型为String->(String->Bool)

三、动态函数

函数和静态函数都可以设置为动态,这样在运行时,可以重新设置函数的值,但类型必须一致。

动态函数只能设置在类的实例上,静态函数只能设置在类上,另外动态函数不能重载,也不能用super

public dynamic function saySomething()

public static dynamic function saySomething()

四、匿名对象

var obj: { id:Int, name:String } = { id:10, name:"Name" };

五、Duck Typing:如果某个类里面有匿名对象里的所有成员变量,这此类可以赋值给匿名变量

class DuckType

{

public var id:Int;

public var name:String;

public function new(id:Int, name:String)

{

this.id = id;

this.name = name;

}

}

var obj: { id:Int, name:String }  = new DuckType(10, "Name“);

六、隐式变量

申明变量时不指定类型,由编译器判断其类型(第一次赋值时)

七、类型转换

1. 安全转换

var a : A; var b : B; b = cast(a, B);//如果a不是B类型,运行时会出错

2. 非安全转换

var i : Int; i = cast "Hello";//可以将任意类型的变量转换为被赋值变量的类型,但如果不能转换时,会报运行时错误

3. untyped

untyped { myVar.doSomething();}//此时编译器不会检查类型,但可能产生运行时错误

八、模板类

1. class Array<T>

2. class Fridge<T: (Fruit, Eatable)>//T必须是Fruit和Eatable类型

分享到:
评论

相关推荐

    haXe学习笔记(一)

    **haXe学习笔记(一)** haXe是一种多平台的静态类型编程语言,它设计的目标是提供高性能、跨平台的解决方案。haXe不仅可以用于Web开发,还可以编写桌面应用、服务器端脚本和移动应用。在本学习笔记中,我们将深入...

    Professional haXe and Neko

    通过以上总结可以看出,《Professional haXe and Neko》这本书涵盖了 haXe 和 Neko 相关的广泛知识领域,从基础知识到高级应用都有涉猎,对于希望深入学习这两种语言的开发者来说是非常有价值的资源。

    haXe2语言参考手册

    haXe2语言参考手册haXe API Documentation

    Haxe 3.0垮平台开源编程语言

    Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用,还是网页;...

    intellij-haxe, IntelliJ平台的Haxe插件( IDEA,Android Studio ).zip

    intellij-haxe, IntelliJ平台的Haxe插件( IDEA,Android Studio ) 用于 IntelliJ IDEA的 Haxe插件这个插件允许你使用 IntelliJ IDEA 开发 Haxe程序。 它需要 IntelliJ IDEA 最终版或者社区版,版本 14,15,2016和...

    Atom-hxatom,atom文本编辑器包的haxe类型定义.zip

    Atom-hxatom是针对Atom文本编辑器的一个扩展,它提供了Haxe语言的类型定义,使得在使用Atom编辑Haxe代码时能获得更好的代码补全、语法高亮和错误检查等功能。Atom是一个广受欢迎的开源文本编辑器,由GitHub开发,其...

    haxe2.1 安装文件

    - **学习资源**:尽管Haxe2.1的文档可能较少,但官方文档和社区论坛(如Haxe.org和HaxeFoundation的GitHub仓库)仍然可以作为学习的起点。 总的来说,Haxe2.1是一个早期版本的Haxe,对于历史研究或特定项目可能...

    haXe2语言参考手册(英文)

    ### haXe2语言参考手册知识点详述 #### 基本类型 (Basic Types) - **定义**: 在haXe2中,基本类型是构建所有数据结构的基础。 - **示例**: 包括整型(`Int`), 浮点型(`Float`), 字符串(`String`), 布尔值(`Bool`)等...

    haxe-2.08-win.zip

    Haxe是一种多平台的编程语言,它允许开发者编写一次代码,然后编译成可以在...虽然现在可能有更新的Haxe版本,但这个早期版本对于学习Haxe的基本概念和语法仍然有价值,特别是对于历史项目或者研究旧代码的开发者来说。

    haxe:Haxe-跨平台工具包

    Haxe是一个开源工具包,可让您轻松构建针对许多主流平台的跨平台工具和应用程序。 Haxe工具包包括: Haxe编程语言,一种现代的高级严格类型的编程语言 Haxe交叉编译器,适用于许多目标的最先进的闪电般的编译器 ...

    已经部署好的HAXE最新版本(卷标2)

    已经部署好的HAXE最新版本 HAXE 3.2.0 OPENFL 3.3.2 其他库为最新版本,包含开发游戏所需全部内容

    haxe-tutorials:一些用爱制作的haxe教程

    本教程集是为那些想要学习或深入理解Haxe语言的人准备的,充满了作者的热爱与用心。 Haxe的基础知识包括语法、类型系统、类和接口、模块、包结构以及标准库的使用。Haxe语法与Java和C#类似,但更简洁,支持静态和...

    haxe nme通过jni调用android

    在IT行业中,跨平台开发是常见的需求,Haxe语言因其强大的多平台支持而备受青睐。NME(Native Media Extensions)是Haxe的一个扩展库,它允许开发者使用Haxe编写的游戏或应用运行在多个平台上,包括Android。本篇将...

    haxe语言编译成luajit 再exe进行调用

    Haxe是一种多平台的编程语言,它允许开发者编写一次代码,然后编译成不同目标平台的原生代码,包括JavaScript、C++...这个项目可能包含了Haxe源文件、编译脚本以及打包工具,是学习和实践Haxe与LuaJIT结合的宝贵资源。

    haxe3-manual

    haxe3-manual Haxe是一门新兴的开源编程语言,开发者称:“相比其他语言(Java的平台是 JVM,C#的平台是.Net,ActionScript的平台是Flash Player等等),Haxe才是真正的多平台语言。不管是开发原生iOS、Android应用...

    haxelint:[未维护,检查 haxe-checkstyle] Haxe 中 Haxe 的静态分析和样式检查

    Haxe 中 Haxe 的静态分析和样式检查 安装 来自haxelib haxelib install haxelint 手动构建 haxe build.hxml 用法 从命令行 haxelib run haxelint -s &lt;HAXE&gt; 只haxelib run haxelint寻求帮助 使用 API var file...

    Haxe-Manager:Haxe项目模板以及最终更有用的haxe实用程序已添加到VSCode

    Haxe经理使用户能够从VScode中创建haxe项目,并扩展vscode使其成为更集成的haxe IDE的功能。 如果有人想贡献项目模板,那么我将使用Haxe的内置系统,因为它足够简单,可以用于本用例。 现在,这仅对样板代码有帮助:...

    haxe-macro-samples:Haxe 宏、Haxe Magic 和 Haxe 元数据代码示例

    Haxe 宏、Haxe Magic 和 Haxe 元数据代码示例Haxe 的新手? 需要快速入门 Haxe 宏? 好吧,我们开始了。 该项目包含大量示例,可帮助您快速释放 Haxe 宏的威力。已知限制请注意,这些样本只是 - 样本。 它们绝不是...

Global site tag (gtag.js) - Google Analytics