2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

JRuby 1.4 RC1 发布:增加了 Windows 安装包、1.8.7 支持及新的嵌入式 API

  • 2009-10-18
  • 本文字数:899 字

    阅读完需:约 3 分钟

JRuby 1.4 RC1 发布了(点击此处查看JRuby 1.4 RC1 的所有版本)。

JRuby 1.4 RC1 进行了大量的改进,如对Ruby 1.8.7 的支持及新的Java 集成支持(此前InfoQ 曾进行过报道)

Windows 用户可能会对新的 JRuby 安装包情有独钟,该安装包是个.exe 文件,可从 JRuby 1.4 下载点下载

对于那些想在应用中嵌入 JRuby 进行脚本编程或是想从 Java 代码中调用 JRuby 的开发者来说有个好消息,现在可以使用“Red Bridge”或是 org.jruby.embed 了,这是一个新的嵌入式 API,将在 JRuby 的未来版本中替换掉 JavaEmbedUtils。

Red Bridge 的创建者 Yoko Harada 解释到

在 JRuby 1.4 RC1 发布后,用户可能会被 JRuby 的 JavaEmbedUtils 和 Red Bridge 搞晕了,到底应该用哪个呢?毫无疑问,新用户应该首选 Red Bridge,因为其使用简单且功能强大。现在我们正在商讨如何废弃 JavaEmbedUtils 以及与嵌入式相关的其他接口。很多包(包括 JRuby Rack)都使用到了 JavaEmbedUtils 以及其他嵌入式 API,因此这是一个牵一发而动全身的事情,需要谨慎行事。

Red Bridge 和其他嵌入式 API 修复了一些问题,像是如何跨越对 JRuby 的不同调用查看调用变量等。新的 org.jruby.embed.ScriptingContainer 文档中写到:

第三个示例介绍了如何在多个赋值语句之间保持局部变量。该特性模拟了 JRuby 的 BSF 引擎。在 Ruby 语义下,一旦赋值结束,局部变量就失效了。因此,该特性是可选的,同时在容器实例化时用户需要指定 LocalVariableBehvior.PERSISTEN。

示例代码:

复制代码
ScriptingContainer container = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
container.runScriptlet("p = 42");
container.runScriptlet("puts #{p}");

如果没有指定 LocalVariableBehavior.PERSISTENT,那么在第二次调用 container.runScriptlet 时变量 p 就失效了,因此需要将其声明为全局变量而非局部变量。

我们希望大家都来试用 JRuby 1.4 RC1,有问题请及时报告。

最后,对 JRuby 感兴趣的用户可以阅读 R.J. Lorimer 关于 JRuby 内核的系列文章,最新的文章深入分析了 JRuby JIT。

查看英文原文: JRuby 1.4RC1 Released, Adds Windows Installer, 1.8.7 Support, New Embedding API

2009-10-18 21:40673
用户头像

发布了 88 篇内容, 共 272.7 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

Vue + SpreadJS 实现高性能数据展示与分析

葡萄城技术团队

用Echarts实现前端表格引用从属关系可视化

葡萄城技术团队

皇室用酒贾斯特里尼&布鲁克斯,用匠心成就经典

联营汇聚

前端程序员培训哪家比较好?

小谷哥

在今年的数字生态大会上,云原生数据库前进了一大步

腾讯云数据库

数据库 云原生 TDSQL-C 腾讯云数据库

HMS Core 3D流体仿真技术,打造移动端PC级流体动效

HarmonyOS SDK

HMS Core

SpreadJS集算表联动数据透视表,高效实现前端数据多维分析

葡萄城技术团队

Excel 财务审核系统 #web

盘点Python 中字符串的常用操作

华为云开发者联盟

Python 开发 华为云 12 月 PK 榜

Java技术学习培训机构哪个好

小谷哥

OSCS开源安全周报第23期:Foxit PDF Reader/Editor 任意代码执行漏洞

墨菲安全

开源 安全

【JVM规范】第一章 前言

四月

Java JVM

软件测试丨工具在接口测试中发挥什么样的作用?

测试人

软件测试 自动化测试 接口测试 测试开发

Dragonfly 和 Nydus Mirror 模式集成实践

SOFAStack

用优质俘获人心,贾斯特里尼&布鲁克斯葡萄酒成送礼首选

联营汇聚

测试监控和测试控制

FunTester

基于U-Net网络的图像分割的MindStudio实践

华为云开发者联盟

人工智能 华为云 12 月 PK 榜

大数据参加培训学习靠谱吗?

小谷哥

高效协同: 打造分布式系统的三种模式

俞凡

架构

企业数据安全解决方案-购买堡垒机!

行云管家

企业 数据安全 堡垒机

《工业和信息化领域数据安全管理办法(试行)》2023年正式执行

行云管家

数据安全

软件测试的本质是什么?

测试人

软件测试 自动化测试 测试开发

书单 | 这几本书被输出到德国啦!

博文视点Broadview

组织上线 | 资源共享,协作自如

Jianmu

Docker k8s 镜像 容器镜像

开源漏洞数量增长33%!企业安全债务不堪重负丨行业数据

SEAL安全

开源 开源安全 开源安全与治理

如何进行晶体负载电容的调试

元器件秋姐

电路设计 电子电路 元器件知识 元器件科普 负载电容

葡萄酒选择有技巧,贾斯特里尼&布鲁克斯皇室佳酿值得品尝

联营汇聚

啊哈!缓存

孟君的编程札记

redis 缓存 cache canal Guava

2022阅读总结

俞凡

阅读

倒酒也是学问,贾斯特里尼&布鲁克斯葡萄酒专家教你如何倒酒

联营汇聚

开源 高性能 云原生!时序数据库 TDengine 上线亚马逊Marketplace

TDengine

数据库 tdengine 开源 时序数据库

有备无患!DBS高性价比方案助力富途证券备份上云

腾讯云数据库

数据库 腾讯云 备份 腾讯云数据库 富途证券

JRuby 1.4 RC1发布:增加了Windows安装包、1.8.7支持及新的嵌入式 API_Java_Werner Schuster_InfoQ精选文章