找回密码
 立即注册

微信登录

只需一步,快速开始

QQ登录

只需一步,快速开始

查看: 55|回复: 0

[心得] aardio 代码替换规则更新

[复制链接]
  • TA的每日心情
    奋斗
    3 天前
  • 签到天数: 9 天

    连续签到: 4 天

    [LV.3]偶尔看看II

    2

    主题

    9

    回帖

    111

    积分

    注册会员

    积分
    111
    来自: 中国江苏南京
    发表于 2025-5-19 20:20:58 | 显示全部楼层 |阅读模式 来自: 中国江苏南京
    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    本帖最后由 一休不在愁 于 2025-5-20 09:36 编辑

    最近天气不错,阳光暖暖地照在身上,感觉心情都变好了呢。咱在享受生活的同时,Aardio 语言也没闲着,这不,最近有两次提交更新,版本从 v40.3.0 到 v40.3.1 啦,下面就和大家好好唠唠这次更新都有哪些变化 。

    1. 文件删除
    首先,有个文件被删除了,就是 lib/string/markdown/.res/build.aardio 。这个文件之前的代码大概是这样的:

    [AAuto] 纯文本查看 复制代码
    import tcc;
    import console;
    
    vm = tcc();  
    vm.addIncludePath("/")
    
    import fsys;
    fsys.enum( "/", "*.c",
        function(dir,filename,fullpath,findData){ 
            if(filename){ 
                vm.addFile(fullpath)
                console.log(filename)
            } 
        } 
    );
    vm.output("/sundown.dll","") 
    
    console.log("编译完成") 
    console.pause(true);
    


    现在这个文件被整个删除掉咯,可能是这个编译相关的功能不再需要或者有了更好的实现方式。

    2. 注释和说明更新
    lib/string/markdown/_.aardio 文件有一些注释和说明的更新。更新前是这样描述 sundown 的:





    更新后描述得更详细啦:





    这样开发者就能更清楚使用 sundown 的规则啦。

    3. 函数废弃标记
    在 lib/builtin/table.aardio 文件里,有好几个函数被标记为废弃啦。更新前是这样简单标记的:

    更新后用了 @Deprecated 来标记,还新增了 each = eachName; 也被标记为废弃:


    开发者以后使用的时候就要注意这些函数可能会在未来版本中移除哦。

    4. 代码替换规则更新
    lib/ide/aifix.aardio 文件里的代码替换规则有一些变化。更新前部分代码是这样的:

    [AAuto] 纯文本查看 复制代码
    code = ..string.reduceReplace(code,`![\w.$]table.each(%())`,"^\((.+)\)$","\1");
    code = replace(code,`![\w.$]table.eachi?\(`,"table.eachIndex(");



    更新后替换规则变了:

    [AAuto] 纯文本查看 复制代码
    code = replace(code,`![\w.$]table\.each\(`,"table.eachName(");
    code = replace(code,`![\w.$]table\.eachName\(([^,\)]+?)\s*,[^,\)]+<@@name@>\s*\)`,"table.eachName(\1)");
    code = replace(code,`![\w.$]table\.eachi\(`,"table.eachIndex(");



    这些变化可能会影响到代码在 IDE 里的自动替换和修正功能。

    总的来说,这次 Aardio 语言的更新有文件删除、注释完善、函数废弃标记和代码替换规则调整等方面的变化,开发者们要留意这些改动哦 。

    声明:此文章只是我学习研究整理出来的,不是官方发表的文章,开发者们不要混淆哦。





    非业余 - aardio 编程语言 - 非官方问答社区
    风行者三期培训:Aardio+Python+Flutter,1000集课程让你成为全栈开发高手!https://mp.weixin.qq.com/s/_WOoHFtITUyLk2k7BXYGkg
    Aardio培训大揭秘,轻松上手打造个人项目!https://mp.weixin.qq.com/s/cr47qhp_Cpz0p57lbbPwug
    aardio风行者第二期培训班https://mp.weixin.qq.com/s/uB6XHUDnGSk0JlWuiBE9AA
    aardio风行者第三期培训班https://mp.weixin.qq.com/s/cdZcvFiAWhlYTaSrQGCPvA
    回复

    使用道具 举报

    *滑块验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|非业余 - aardio 编程语言 - 非官方问答社区 知道创宇云防御

    GMT+8, 2025-6-1 15:14 , Processed in 0.084604 second(s), 31 queries .

    Powered by Discuz! X3.5

    © 2001-2025 Discuz! Team.

    快速回复 返回顶部 返回列表