V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
4ra1n
V2EX  ›  分享创造

分享一个自娱自乐造的中文脚本语言

  •  
  •   4ra1n · 187 天前 · 1170 次点击
    这是一个创建于 187 天前的主题,其中的信息可能已经有所发展或是发生改变。

    链接: https://github.com/4ra1n/y4-lang

    使用 golang 标准库,造的一个轮子,尽量不适用任何第三方库,主要目的是学习和娱乐

    快排示例

    函数 交换(数组, 甲, 乙) {
        临时 = 数组[甲];
        数组[甲] = 数组[乙];
        数组[乙] = 临时;
    }
    
    函数 分区(数组, 低位, 高位) {
        目标 = 数组[高位];
        甲 = 低位 - 1;
        循环 乙=低位; 乙<高位; 乙=乙+1 {
            如果 数组[乙] < 目标 {
                甲 = 甲 + 1;
                交换(数组, 甲, 乙);
            }
        }
        交换(数组, 甲 + 1, 高位);
        返回 甲 + 1;
    }
    
    函数 快排(数组, 低位, 高位) {
        如果 低位 < 高位 {
            目标 = 分区(数组, 低位, 高位);
            快排(数组, 低位, 目标-1);
            快排(数组, 目标+1, 高位);
        }
    }
    
    函数 主函数() {
        数组 = [10, 7, 8, 9, 1, 5, 666, 888, 10000, -50];
        数组长 = 长度(数组);
        快排(数组, 0, 数组长-1);
        打印(数组)
    }
    

    运行截图:

    参考了《两周自制脚本语言》

    原书使用 Java 且包含了一些作者自己写的库,我用 Golang 从头开始实现了功能

    4 条回复    2024-06-19 10:42:38 +08:00
    wangyingbo
        1
    wangyingbo  
       187 天前   ❤️ 1
    大佬,溜
    la0wei
        2
    la0wei  
       186 天前
    骚客特
    yangheng4922
        3
    yangheng4922  
       186 天前
    骚客特 = Socket 吗 😂🤣
    4ra1n
        4
    4ra1n  
    OP
       186 天前
    哈哈哈哈,被你们发现了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2857 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:26 · PVG 22:26 · LAX 06:26 · JFK 09:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.