码迷,mamicode.com
首页 > 编程语言 > 详细

(C# & Unity) 脚本语言 ES

时间:2016-06-29 13:16:07      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:

纯 C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,相比 LUA 更精简,不过效率低一些,暂时没有发现 BUG,实际游戏运行稳定,没有内存泄漏

Github:https://github.com/easily/EasyScript

测试代码:

func calc() {
    print(2 + 3)
    print(2 - 3)
    print(2 * 3)
    print(2 / 3)
}
func ctrl() {
    n = 1
    if (n > 0) {
        print(""n > 0"")
    } else {
        print(""n < 0"")
    }
    arr = [1,2,3]
    for (i = 0, arr.count) {
        print(arr[i])
    }
    foreach (i in arr) {
        print(i)
    }
}
func closure() {
    n = 100
    f = func() {
        n = n + 1
        return n
    }
    for (i = 0, 10)  {
        print(f())
    }
}
func main() {
    print(""hello world!"")
    calc()
    ctrl()
    closure()
}
main()

输出:

hello world!
5
-1
6
0.6666667
n > 0
1
2
3
1
2
3
101
102
103
104
105
106
107
108
109
110

 

纯逻辑运行效率是 C# 的 1/50,数学运算是 1 / 150,

所以最好用在对效率要求不高的地方,还在持续的优化性能

目前已经在实际生产环境使用,我们游戏的技能系统都是用 ES 写的脚本,都是由策划编写,语法比较简单,可以很快学会

 

编译原理的东西学得不好,很多功能是硬堆出来的,但功能是完善的,同时也在补编译原理方面的知识,希望后期能更加优化

如果有小伙伴想使用的话,希望发现问题可以及时联系我,谢谢

 

(C# & Unity) 脚本语言 ES

标签:

原文地址:http://www.cnblogs.com/yili16438/p/5626438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!