Skip to content

Releases: qingfeng346/Scorpio-CSharp

v2.0.1

09 Oct 07:45
Compare
Choose a tag to compare

新增功能

  • 新增 ?? 表达式, 返回值为 null 则返回 ?? 后的值

其他修改

  • 运行文件 修改为 .net core 3.0 生成, 提升启动速度, 优化文件大小

v2.0.0

06 Sep 09:37
Compare
Choose a tag to compare

主要内容

  • 运行方式改为IL执行,执行效率大幅提升
  • 增加原表操作
  • 其他修改内容可以查看 v2.0.0-preview 版本更新日志

v2.0.0_preview11

08 Aug 11:55
Compare
Choose a tag to compare
v2.0.0_preview11 Pre-release
Pre-release

新增功能

  • 增加 赋值操作返回值(重要) 示例参考
  • 增加 函数参数展开传递(重要) 示例参考
  • 增加 同时申请多个局部变量 例如 : var a,b,c,d
  • 增加 createArray 函数, 快速创建一个 c# 数组
  • Array 类增加 push 函数, 功能同 add

修改内容

  • 修改定义class时父类为null,则自动继承Object

BUG修复

  • 修复 json 格式化字符串时特殊字符未格式化完全的问题

v2.0.0-preview10

09 Jul 06:30
Compare
Choose a tag to compare
v2.0.0-preview10 Pre-release
Pre-release

修改内容

  • 增加switch语法 示例参考
  • 支持 long 和 double 之间直接运算比较
  • lambada 表达式申请的函数, this 继承父级 示例参考
  • 支持动态定义class 示例参考
  • foreach pairs 支持传入 type 实例 和 _G
  • Array 原表增加 join 函数
  • Map 原表增加 forEach forEachValue 函数
  • Array Map forEach 函数返回 false 时停止循环
  • math 库增加 三角函数
  • 快速反射支持 op_Implicit 函数
  • 命令行增加 version 命令
  • 优化 == 运行逻辑

BUG修复

  • 修复 + 运算符 右侧为 string 时某些情况下返回的不是 string 的问题
  • 修复 快速反射 构造函数含有 ref out 标识时生成出错

v2.0.0-preview9

26 Jun 06:30
Compare
Choose a tag to compare
v2.0.0-preview9 Pre-release
Pre-release
  • 支持 longdouble 类型之间直接运算比较
  • Array 原表增加函数 join
  • Map 原表增加函数 forEach forEachValue
  • Array Map forEach 函数, 返回 false 则停止循环
  • math 库增加三角函数 sin sinh asin cos cosh acos tan tanh atan
  • lambada表达式申请的funstion, this继承父级 脚本示例
  • 快速反射 支持 op_Implicit 函数
  • 快速反射 修复构造函数 有 ref out 时 生成出错
  • 修改 class 定义方式,支持动态定义 class 脚本示例

v2.0.0_preview8

17 Jun 12:10
Compare
Choose a tag to compare
v2.0.0_preview8 Pre-release
Pre-release

新增功能

  • 增加原表操作, 基础原表目录 Scorpio/src/Proto 脚本示例
  • 原表支持运算符重载 基础类型(number,string,bool,null)除外 脚本示例
  • 支持调用含有 ref out 标识的函数 脚本示例
  • 快速反射支持创建模板函数,支持 ref out 标识的函数
  • c#数组支持直接 [] 获取元素 脚本示例
  • c#重载 []中括号(除去key为string的重载), 支持 [] 直接调用 脚本示例
  • c#元素支持 += -= 等 运算符赋值操作
  • 支持生成脚本 IL 文件,运行时可以省去解析编译的过程
  • 添加 ScriptNamespace 类, 可以使用 importNamespace 导入, 引用c#的命名空间
  • 增加 IO 库
  • 命令行增加生成快速反射文件和IL文件命令, 可以使用 sco -help 查看
  • 优化脚本性能, 修改为栈编译运行,部分运行测试,左侧为2.0版本,测试结果,基础运算大幅提升,其他操作也有较大的提升



修改功能

  • 所有库函数名重写,命名规则为骆驼式命名法, 第一个单词以小写字母开始,从第二个单词开始以后的每个单词的首字母都采用大写字母, 不过可以调用Script.LoadLibraryV1, 兼容 1.0 命名规则库
  • function内的this变量规则为前置变量,规则参考javascript 脚本示例
  • 设置快速反射类的函数修改为 Scorpio.Userdata.TypeManager.SetFastReflectClass

删除功能

  • 删除 kpairs vpairs 函数
  • 删除 try catch
  • 删除 switch 语法
  • 删除引用扩展函数,请使用静态函数方式调用

v1.0.11

28 May 10:29
Compare
Choose a tag to compare
  • 修复一个去反射函数调用的BUG
  • 支持自动关联 c# delegate,省去 DelegateFactory 的设置

v1.0.10

19 Mar 09:38
Compare
Choose a tag to compare
  • 添加 io
  • table 库添加 define_function 函数, 可以动态申请内部函数,例如
var tab = { num = 100 }
table.define_function(tab, "fun", function() {
    return this.num
})
print(tab.fun()) //输出100
  • # 可以代替 function 关键字申请函数, 示例:
#test() { }
//等同于
function test() { }

v1.0.9

15 Mar 03:57
Compare
Choose a tag to compare
  • 支持 ` 符号申请字符串, 用法同 单引号 双引号一致, 支持 @ 符号

v1.0.8

14 Mar 08:16
Compare
Choose a tag to compare
  • 申请array时分隔符支持 分号 ; 示例;
var a = [100;200;300]
//等同于
var a = [100,200,300]
  • 支持脚本直接调用c#运算符
运算符号 反射名称 脚本直接调用
+ op_Addition 支持(+= 不支持)
- op_Subtraction 支持(-= 不支持)
* op_Multiply 支持(*= 不支持)
/ op_Division 支持(/= 不支持)
% op_Modulus 支持(%= 不支持)
| op_BitwiseOr 支持(|= 不支持)
& op_BitwiseAnd 支持(&= 不支持)
^ op_ExclusiveOr 支持(^= 不支持)
> op_GreaterThan 支持
>= op_GreaterThanOrEqual 支持
< op_LessThan 支持
<= op_LessThanOrEqual 支持
== op_Equality 不支持
!= op_Inequality 不支持
[] get_Item(获取变量) 不支持
[] set_Item(设置变量) 不支持