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

187 天前
 4ra1n

链接: 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 从头开始实现了功能

1169 次点击
所在节点    分享创造
4 条回复
wangyingbo
187 天前
大佬,溜
la0wei
186 天前
骚客特
yangheng4922
186 天前
骚客特 = Socket 吗 😂🤣
4ra1n
186 天前
哈哈哈哈,被你们发现了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1050623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX