轻量级嵌入式脚本语言。
FakeScript-Java是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golang、erlang,基于jflex、cup生成语法树,编译成字节码解释执行。 C/C++版本fakescript
语法类似lua
全部为函数
支持array,map,可以无限嵌套
支持fake testfunc(param1)产生routine,实现假多线程效果
支持Java静态函数和Java类成员函数的绑定
自带解释器
支持多返回值
自带profile,可获取脚本各个函数运行时间
支持热更新
支持Int64
支持const定义
支持包
支持struct
#!lua -- 当前包名 package mypackage.test -- 引入的文件 include "common.fk" -- 结构体定义 struct teststruct sample_a sample_b sample_c end -- 常量值 const hellostring = "hello" const helloint = 1234 const hellomap = {1 : "a" 2 : "b" 3 : [1 2 3]} -- func1 comment func myfunc1(arg1, arg2) -- Java静态函数和类成员函数的调用 arg3 := cfunc1(helloint) + arg2:memfunc1(arg1) -- 分支 if arg1 < arg2 then -- 创建一个协程 fake myfunc2(arg1, arg2) elseif arg1 == arg2 then print("elseif") else print("else") end -- for循环 for var i = 0, i < arg2, i++ then print("i = ", i) end -- 数组 var a = array() a[1] = 3 -- 集合 var b = map() b[a] = 1 b[1] = a -- Int64 var uid = 1241515236123614u log("uid = ", uid) -- 子函数调用 var ret1, var ret2 = myfunc2() -- 其他包的函数调用 ret1 = otherpackage.test.myfunc1(arg1, arg2) -- 结构体 var tt = teststruct() tt->sample_a = 1 tt->sample_b = teststruct() tt->sample_b->sample_a = 10 -- 分支 switch arg1 case 1 then print("1") case "a" then print("a") default print("default") end -- 多返回值 return arg1, arg3 end
#!java // 创建一个实例 fake f = fk.newfake(null); // 注册包里全部标记@fakescript的函数 fk.reg(f, "com.test"); // 解析fake脚本文件 fk.parse(f, "test.fk"); // 执行myfunc1函数,传入两个参数分别为1和2 double ret = (double)fk.run(f, "myfunc1", 1, 2);
软件简介 FakeScript-Java 轻量级嵌入式脚本语言。 java/blob/master/README_CN.md#%E7%AE%80%E4%BB%8B)简介 FakeScript- Java是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golang、erlang,基于jflex、cup生成语法树,编译成字节码解释执行。 C/C++版本fakescript jav
软件介绍 FakeScript-Java 轻量级嵌入式脚本语言。 简介 FakeScript-Java是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golang、erlang,基于jflex、cup生成语法树,编译成字节码解释执行。 C/C++版本fakescript 脚本特性语法类似lua 全部为函数 支持array,map,可以无限嵌套 支持fake testfunc(
此文已由作者赵昕授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。 fakescript 轻量级嵌入式脚本语言 https://github.com/esrrhs/fakescript-java 简介 fakescript是一款轻量级的嵌入式脚本语言,使用Java语言编写,语法吸取自lua、golang、erlang,基于jflex、cup生成语法树,编译成字节码解释执行。
null 解压缩算法的重要指标是数据的大小加上算法的大小(因为它们将驻留在相同的有限内存中)。 可用于解压的RAM很少;可以将单个字形的数据解压缩到RAM中,但不能更多。 为了使事情变得更加困难,算法必须在32位微控制器(ARM Cortex-M core)上非常快,因为字形在被绘制到显示器上时需要解压缩。每八位元组十个或二十个机器循环是可以的,一百个肯定太多了。 为了使事情变得更容易,完整的数据
主要内容:使用普通函数创建 goroutine,使用匿名函数创建goroutine在编写 Socket 网络程序时,需要提前准备一个线程池为每一个 Socket 的收发包分配一个线程。开发人员需要在线程数量和 CPU 数量间建立一个对应关系,以保证每个任务能及时地被分配到 CPU 上进行处理,同时避免多个任务频繁地在线程间切换执行而损失效率。 虽然,线程池为逻辑编写者提供了线程分配的抽象机制。但是,如果面对随时随地可能发生的并发和线程处理需求,线程池就不是非常直观和方便了。能否
没有标记语言就没有Web和丰富多彩的互联网,但创造了Web的HTML语言并非尽善尽美,存在诸如难读、难写、难以向其他格式转换的问题。究其根源是因为HTML语言是一种“重”标记语言,对机器友好而并非对人友好。 下面这段HTML源码,非技术控阅读起来会遇到困难。 <html> <head> <meta content='application/xhtml+xml;charset=utf-8' ht
目录 1. 回调到php中 2. 错误处理 3. 初始化php 4. 覆写INI_SYSTEM和INI_PERDIR选项 5. 捕获输出 6. 同时扩展和嵌入 7. 小结 php的嵌入式能够提供的可不仅仅是同步的加载和执行脚本. 通过理解php的执行模块 各个部分是怎样组合的, 甚至给出一个脚本还可以回调到你的宿主应用中. 本章将涉及 SAPI层提供的I/O钩子带来的好处, 展开你已经从前面的主题
问题内容: 题 我正在寻找Java内存对象缓存API。有什么建议吗?您过去使用过什么解决方案? 当前 现在,我只是在使用地图: 要求 我需要扩展缓存以包括以下基本功能: 最大尺寸 生存时间 但是,我不需要更复杂的功能,例如: 来自多个进程的访问(缓存服务器) 持久性(到磁盘) 意见建议 内存中缓存: Guava CacheBuilder-活动开发。请参阅此演示文稿。 LRUMap-通过API配置。
问题内容: 在我创建的许多Python应用程序中,我经常创建简单的模块,除了常量之外,这些模块仅用作配置文件。此外,由于配置文件实际上是Python代码文件,因此我可以添加简单的逻辑以根据调试级别等来更改变量。 尽管这对于内部应用程序非常有效,但我担心在将这些应用程序发布到野外时会感到担心,因为担心有人会意外地或恶意地向文件中添加破坏性代码。使用Python作为嵌入式脚本语言也是如此。 是否存在被