写点什么

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:40635
用户头像

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

关注

评论

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

一分钟了解深度学习算法

小齐写代码

【大型模】模型型飞跃升级—文档图像识别领域迎来技术巨变

颜淡慕潇

ChatGPT OCR技术 垂直大模型 图像识别模型

不是每个企业都要数字化转型,但是每个企业都要进行数字化升级!

天津汇柏科技有限公司

数字化转型

智能商品系统如何协同其他系统共享数据和优化供应链决策?

第七在线

Java药物不良反应ADR智能监测系统源码

源码星辰

Java 源码 ADR智能监测系统

软件测试开发/全日制/测试管理/人工智能丨如何合理制定职业规划

测试人

软件测试

【推文】企业级AI问答知识库训练营,火热开营中!

阿里云大数据AI技术

GreatSQL喊你来考证啦~

GreatSQL

揭秘阿里自研搜索引擎Havenask在线检索服务

阿里技术

搜索引擎 开源 搜索 Havenask 在线检索

康威定律:AI时代的IT组织变革

FinClip

记一次JSF异步调用引起的接口可用率降低

京东科技开发者

百度搜索exgraph图执行引擎设计与实践

百度Geek说

百度搜索 企业号 1 月 PK 榜 图执行 图执行引擎 DAG执行图

这些常见的python编码习惯,你都会吗

华为云开发者联盟

Python 开发 华为云 华为云开发者联盟

数字化时代下的数字化资产及其治理 |京东云技术团队

京东科技开发者

mybatisplus推荐用法

meacial

分层架构 设计原则 开发规范 MyBatisPlus

炸裂!「用嘴编程」的时代真的来了,席卷8000多家企业的Comate大升级

飞桨PaddlePaddle

人工智能 深度学习 编程语言

“用友-旭阳数智化联合团队”荣获“2023数字化践行者基石奖”

用友BIP

企业数智化

Mac电脑版文件启动器:Butler 激活最新版

胖墩儿不胖y

Mac软件 文件启动器

软件测试开发/全日制/测试管理丨利用ChatGPT生成自动化测试脚本

测试人

软件测试 测试开发 ChatGPT

【第七在线】智能商品系统和ERP、BI系统的区别

第七在线

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