网络脚本
一目了然。易于学习。动态和静态类型。使用纤维的并发。内存安全。FFI 和可嵌入性。快速的虚拟机和即时编译。跨平台。 使用数学变量 var worlds = ['World', '世界', 'दुनिया'] worlds.append(math.random()) 对于 worlds -> w: print "Hello, $(w)!" -- 可选静态类型。 func fib(n int) int: coyield if n < 2: return n return fib(n - 1) + fib(n - 2) -- 统计 fib 调用次数。 var count = 0 var fiber = coinit(fib, 30) var res any = 0 while fiber.status() != .done: res = coresume fiber count += 1 print "$(res) $(count)" 用例。 Cyber 想提供快速和愉快的脚本编写体验。编译器和虚拟机可以嵌入到应用程序、游戏和引擎中。命令行应用程序可以在桌面和服务器上运行脚本。 性能。 Cyber 在各种基准测试中的表现很快。该语言从一开始就考虑了性能。请参见更多基准测试或了解更多关于性能的信息。 递归斐波那契 (VM) 源 这个测试如何衡量随着调用栈的增长,函数调用的速度。 cyber 19ms 2.9 MB luajit 21ms 1.4 MB wasm3 31ms 1.4 MB luau 34ms 2.1 MB lua 39ms 1.3 MB quickjs 57ms 1.9 MB wren 71ms 1.5 MB java 44ms 31ms 35.2 MB python3 70ms 15ms 10.2 MB ruby 54ms 31ms 29.6 MB node 56ms 39ms 31.9 MB 递归斐波那契 (JIT) 源 cyber 5ms 2.9 MB luajit 5ms 1.6 MB luau 20ms 2.3 MB java 3ms 31ms 38.3 MB node 6ms 35ms 34.0 MB ruby-yjit 13ms 30ms 30.1 MB 显示脚本时间(橙色)、加载时间(灰色)和峰值内存使用。 特性。 要全面了解该语言及其特性,请参阅文档。 互操作性。 libcyber 允许 Cyber 嵌入到你的应用程序中。Cyber 的命令行接口和核心库是使用 libcyber 构建的。FFI API 允许你的脚本使用任何与 C-ABI 兼容的库。cbindgen.cy 也是一个工具,用于从 C 头文件自动生成完整的绑定。一些示例绑定包含 Raylib 和 LLVM。 支持我们。 Cyber 仍在不断发展,所以一直欢迎新的想法!请随时在 GitHub 上报告问题或加入我们的 Discord。如果您觉得慷慨,请考虑通过 Github Sponsors 或 Patreon 支持该项目!
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡