写点什么

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

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

关注

评论

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

出海 SaaS 企业增长修炼手册:聊聊 PLG 的关键指标、技术栈和挑战

Kyligence

数据分析 指标管理

Python - 字典4

小万哥

Python 程序员 软件 后端 开发

手把手带你打一场时间序列实战—跑通baseline

打工人!

人工智能 机器学习 时间序列预测

Mobpush智能化精准推送,助力求职者快人一步

MobTech袤博科技

智能推送

我和极客时间的故事

法医

我和极客时间的故事

低代码技术这么香,怎么把它的开发特点发挥到极致?

陈橘又青

低代码 无代码开发 无代码 低代码平台 无代码平台

虚拟机是什么

芯动大师

Java IO 与 NIO:高效的输入输出操作探究

程序那些事

Java 程序那些事 面试秘籍

从实时数据库转战时序数据库,他陪伴 TDengine 从 1.0 走到 3.0

TDengine

时序数据库 ​TDengine

Python - 字典3

小万哥

Python 程序员 软件 后端 开发

以数智化指标管理,驱动光伏能源行业的市场推进

Kyligence

绿色能源 数据管理

2023 Visual Studio Code 插件推荐:18 个提高开发效率的常用插件

小万哥

程序员 前端 vscode 后端 编辑器

ES6新特性(一)

阡陌r

JavaScript ES6 模板字符串 解构赋值

华为云应用中间件DCS系列—Redis实现(视频直播)消息弹幕

云计算 软件开发 华为云

Mobpush厂商通道回执配置指南

MobTech袤博科技

智能推送

EVE-NG安装设备组件

小魏写代码

TuGraph Analytics图计算快速上手之弱联通分量算法

TuGraphAnalytics

图计算 WCC 连通分量

PCE模型,FomoCat为何发起反Web3空气资产的社区试验

股市老人

构建高性能物联网数据平台:EMQX和CnosDB的完整教程

CnosDB

开源 时序数据库 emqx CnosDB

声音传送门|TinyEngine 低代码引擎使用建议收集

OpenTiny社区

开源 前端 低代码

定制化推送+精细化运营,Mobpush助力《迷你世界》用户留存率提升23%

MobTech袤博科技

智能推送

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