C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,效率比较低,目前暂时没有发现 BUG,实际游戏运行稳定,没有发现内存泄漏

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

测试代码:

function calc() {
print(2 + 3)
print(2 - 3)
print(2 * 3)
print(2 / 3)
}
function 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)
}
}
function closure() {
n = 100
f = func() {
n = n + 1
return n
}
for (i = 0, 10) {
print(f())
}
}
function 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 / 80,纯数学运算是 1 / 150,纯数学运算有比较多的堆内存分配,比较慢

(C# & Unity) 脚本语言 ES的更多相关文章

  1. 脚本语言 ES

    C# 编写,解释执行,语法类似 JS,动态类型,支持闭包,支持热更新,效率比较低,目前暂时没有发现 BUG,实际游戏运行稳定,没有发现内存泄漏 Github:https://github.com/ea ...

  2. C#最良心脚本语言C#Light/Evil,Xamarin\WP8\Unity热更新最良心方案,再次进化.

    C#Light的定位是嵌入式脚本语言,一段C#Light脚本是一个函数 C#Evil定位为书写项目的脚本语言,多脚本文件合作,可以完全用脚本承载项目. C#Light/Evil 使用完全C#一致性语法 ...

  3. Unity 脚本的未来发展

    新技术之IL2CPP 最近,我们谈到了Unity 的WebGL . 在那篇文中我们简要谈论到脚本在 WebGL  中的运行的新技术称为"IL2CPP" .然而IL2CPP 所代表的 ...

  4. 小程序脚本语言WXS,你想要的都在这里了

    WXS脚本语言是 Weixin Script脚本的简称,是JS.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. 解构小程序的几种方式,其中一种方式就 ...

  5. 小程序脚本语言WXS详解

    WXS脚本语言是 Weixin Script脚本的简称,是JS.JSON.WXML.WXSS之后又一大小程序内部文件类型.截至到目前小程序已经提供了5种文件类型. 解构小程序的几种方式,其中一种方式就 ...

  6. 【Unity】第6章 Unity脚本开发基础

    分类:Unity.C#.VS2015 创建日期:2016-04-16 一.简介 游戏吸引人的地方在于它的可交互性.如果游戏没有交互,场景做得再美观和精致,也难以称其为游戏. 在Unity中,游戏交互通 ...

  7. 为什么叫Unity3d为脚本语言

    初接触Unity,看到大家说的都是工作主要是写脚本语言. 一直纳闷为什么说脚本语言呢,c#可不是脚本语言啊. -- -- 后来释然,说它是脚本语言是因为传统程序都是由代码构成的(像iOS.Androi ...

  8. elsearch搜索引擎 + painless脚本语言入门

    最近项目用到了elsearch,ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎. 自从版本6.0之后,其默认脚本语言变为 painless . ...

  9. InstallShield 脚本语言学习笔记

    InstallShield脚本语言是类似C语言,利用InstallShield的向导或模板都可以生成基本的脚本程序框架,可以在此基础上按自己的意愿进行修改和添加.     一.基本语法规则      ...

随机推荐

  1. web学习之Django--安装

    前提有python,easy_install 关于easy_install 的安装,比较简单的装法 : wget -q http://peak.telecommunity.com/dist/ez_se ...

  2. Dynamics AX 2012 R2 AIF No Endpoint Behavior Named 'clientEndpointBehavior'

          最近,Reinhard在使用Http Adapter类型的AIF入站端口时,总是报以下错误: Server Error in '/MicrosoftDynamicsAXAif60' App ...

  3. js图片左右旋转

    图片显示 <p> <a href="images/example2.jpg" rel="lightbox-group" title=" ...

  4. Bash:-:-定义空变量作为输出结合换行符\n和column输出

    RET="" declare -a HOST=() declare -a ALL_SVR=() declare -a FREESVR=() ;i<${#_ALL_AGENT_ ...

  5. ThreadLocal是什么?保证线程安全

    早在JDK 1.2的版本中就提供Java.lang.ThreadLocal,ThreadLocal为解决多线程程序的并发问题提供了一种新的思路.使用这个工具类可以很简洁地编写出优美的多线程程序. 当使 ...

  6. IOS UIImageView的contentMode属性

    红框表示imageView的frame,下面的图片是原图大小UIViewContentModeScaleToFill,       默认,对图片进行拉伸处理(不是按比例),是充满bouns UIVie ...

  7. python 学习笔记十六 django深入学习一 路由系统,模板,admin,数据库操作

    django 请求流程图 django 路由系统 在django中我们可以通过定义urls,让不同的url路由到不同的处理函数 from . import views urlpatterns = [ ...

  8. JS控制的几种页面跳转方式和传值

    第一种:<script language="javascript" type="text/javascript">window.location.h ...

  9. python之实现基于paramiko和mysql数据库的堡垒机

    一.堡垒机结构 堡垒机执行流程: 管理员为用户在服务器上创建账号(将公钥放置服务器,或者使用用户名密码) 用户登陆堡垒机,输入堡垒机用户名密码,现实当前用户管理的服务器列表 用户选择服务器,并自动登陆 ...

  10. MRPT图形界面

    mrpt-gui模块中提供了三个类以实现显示GUI窗口,每个都有特定的用途: mrpt::gui::CDisplayWindow : Displays 2D bitmap images, and op ...