
Ruby首页、文档和下载 - 动态类型编程语言
应用介绍
Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby 体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简练方式。
Ruby的作者于1993年2月24日开始编辑Ruby,直至1995年12月才正式公开发布于fj(新聞群組)。之所以称为Ruby,是因为Perl的发音与6月的诞生石pearl(珍珠)相同,因此Ruby以7月的诞生石ruby(红宝石)命名。
Ruby明显比其他类似的编程語言(如Perl或Python)年轻,又因为Ruby是日本人发明的,所以早期的非日文资料和程式都比较貧乏,所以现在在网上仍然可以找到Ruby的资料太少之类的批评。约于2000年,Ruby开始进入美国,英文的资料开始发展。
下面是一个在标准输出设备上输出Hello World 的简单程序,这种程序通常作为开始学习编程语言时的第一个程序:
ZJIT 是一个新的即时编译器(JIT),由与开发 YJIT 的同一编译器团队构建到参考 Ruby 实现 YARV 中,该工具目前已合并到 Ruby。 相关阅读 Ruby 引入新 JIT 编译器 RJIT,替代 MJIT Ruby 的新 YJIT 编译器已完成,使用 Rust 重新实现 ZJIT 在多个方面与 YJIT 有所不同: 它不是直接将 YARV 字节码编译成低级中间表示(LIR),而是使用基于高级单赋值(SSA)的中间表示(HIR) 它不是一次编译一个基本块,而是每次编译一个完整的方...
Ruby 3.3.0 现已正式发布。新版本添加了一个名为 Prism 的新解析器,使用 Lrama 作为解析器生成器,添加了一个名为 RJIT 的新纯 Ruby JIT 编译器,以及许多性能改进,尤其是 YJIT。 具体更新内容如下: Prism 引入 Prism 解析器作为默认 gem Prism 是一个可移植、容错且可维护的 Ruby 语言递归下降解析器 Prism 已做好生产准备并积极维护,用户可以使用它代替 Ripper 具体介绍可查看 Prism 的文档。 Prism 既是一个由 CRuby 内部...
Ruby 代码仓库近期新增了一个关于合并 RJIT 的 PR。 据介绍,RJIT 是新的 JIT 编译器,用作 MJIT 的替代实现。主要特性如下: RJIT 使用纯 Ruby 汇编程序生成原生代码 MJIT 在运行时需要 C 编译器,YJIT 在构建时需要 Rust 编译器。RJIT 不需要它们 这意味着 RJIT 的预热可能比 YJIT 慢,但仍然比 MJIT 快得多 RJIT 生成的代码看起来与 YJIT 非常相似 事实上,很多方法都是将 Rust 代码直接翻译成 Ruby 因此能够通过删除特定于 ...
Ruby 3.2.0 现已发布,该版本添加了许多功能和性能改进。具体更新内容如下: 基于 WASI 的 WebAssembly 支持 这是基于 WASI 的 WebAssembly 支持的初始移植。此项特性使得 CRuby 二进制文件可在 Web 浏览器、Serverless Edge 环境和其他 WebAssembly/WASI 嵌入器上使用。目前,此移植可在不使用 Thread API 的前提下通过基本和引导测试套件的测试。 生产就绪的 YJIT YJIT 不再是实验性的 已经在生产工作负载上进行了一年多的测试...
Ruby 3.1.3、3.0.5、2.1.7 发布了,这几个版本都只包含一个安全修复程序,修复了同一个漏洞: CVE-2021-33621:CGI 中的 HTTP 响应拆分 如果应用程序使用带有不受信任的用户输入的 cgi gem 生成 HTTP 响应,则攻击者可以利用它来注入恶意的 HTTP 响应标头和/或正文。 此外,CGI::Cookie未正确检查对象的内容。如果应用程序CGI::Cookie根据用户输入创建对象,攻击者可能会利用它在Set-Cookie标头中注入无效属性。 受影响的版本 ...
去年 12 月,Ruby JIT 团队的成员提出,希望将 YJIT 代码库从 C99 移植到 Rust。虽然有不少开发者对此持保留意见,但这个项目最终得到了 Ruby 核心开发者以及创始人 Matz 的批准。 昨日,负责此项目的开发者表示已完成了使用 Rust 实现的 Ruby YJIT 编译器,可有效取代现有的 C 版本,目前正在等待上游合并。 据介绍,Rust 版本的 YJIT 编译器与 C 版本具有相同的水平,因为它通过了所有的 CRuby 测试,也能够运行所有 YJIT 基准...
我们很高兴地宣布 Ruby 3.1.0 的发布。Ruby 3.1 保持与 Ruby 3.0 的兼容性,并添加了许多功能。 YJIT:新的实验性进程内 JIT 编译器 Ruby 3.1 合并了 YJIT,这是 Shopify 开发的一种新的进程内 JIT 编译器。 自从2018年Ruby 2.6 引入了 MJIT 后,它的性能有了很大的提升,最终我们在去年实现了 Ruby3x3。但是,尽管 Optcarrot 已经显示出令人印象深刻的加速,但 JIT 并没有使现实世界的业务应用程序受益。 最近 Shopify 贡献了许...
几个月前 Ruby 编程语言的创建者和首席设计师 Yukihiro Matsumoto(松本行弘)表示 Ruby 3.0 将在圣诞这天发布,现在根据官方信息,该版本如约而至。 松本表示,Ruby 3 比 Ruby 2 快 3 倍。 此版本主要目标包括: 性能 MJIT 并发 Ractor Fiber Scheduler 类型(静态分析) RBS TypeProf RBS RBS 是一种描述 Ruby 程序类型的语言。类型检查器(包括类型分析器和其他支持 RBS 的工具)将通过 RBS 定义更好地理解 Ruby 程序。开发者...