写点什么

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

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

关注

评论

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

王者荣耀商城异地多活架构设计

feitian

实时移动通信中基于时空域联合约束的低照度视频增强技术

OpenIM

如何拥有自己的openLooKeng?超详细的安装配置指导看这里

LooK

【VueRouter 源码学习】第六篇 - 路由匹配的实现

Brave

源码 vue-router 9月日更

如何从业务中抽取出通用性模板或框架-通用权限管理框架

张音乐

Java 设计模式 9月日更

首发10万字Mysql实战文档,几乎涵盖你需要的所有操作|超清PDF

今晚早点睡

Java MySQL 程序员

网络攻防学习笔记 Day130

穿过生命散发芬芳

数据安全 9月日更

市值管理机器人特点简析,交易所刷交易量机器人搭建

量化系统19942438797

市值机器人 市值管理

Android | 音视频方向进阶路线及资源合集

轻口味

android 音视频 9月日更

【数据库】数据库访问控制策略包含哪些?都一样吗?

行云管家

数据库 阿里云

模块7

Geek_ywh40v

为什么行业老大经常和老二合并?

石云升

市场垄断 9月日更

王者荣耀商城异地多活架构设计

木云先森

架构训练营

ipfs矿机挖矿原理是什么?ipfs矿机怎么搭建?

ipfs矿机挖矿原理是什么 ipfs矿机怎么搭建

运维工程师主要是做什么的?和网络工程师有啥区别?

行云管家

云计算 运维 网络 IT运维

CSS架构之tool层

Augus

9月日更

Go- 数据格式解析

HelloBug

json xml Go 语言 gob

模块七作业

Clarke

华为云GaussDB(for Redis)发布全新版本,两大核心特性正式亮相

华为云数据库小助手

性能调优 GaussDB GaussDB ( for Redis ) 华为云数据库

Go- 文件读写-2

HelloBug

文件读写 Go 语言

应急响应篇:windows入侵排查

网络安全学海

黑客 网络安全 信息安全 WEB安全 应急响应

数据中台是什么?

奔向架构师

数据中台 数据仓库 9月日更

架构1期模块七作业

五只羊

架构实战营

博睿数据亮相 2021 服贸会,以智能运维赋能数字化体验

博睿数据

玩转TypeScript 工具类型(上)

有道技术团队

typescript 大前端 客户端

面试官:为何Redis使用跳表而非红黑树实现SortedSet?

Summer

Java 数据库 redis 学习 程序员

浪潮云洲×明风机械:让工业“哑设备”发声

云计算

详解微信异步队列 MQ 2.0 的功能优化及拓展思路

OpenIM

弱网下的极限实时视频通信

声网

音视频 编码 极限视频通信

SEO行业的困境:转型还是夹缝中求生存

石头IT视角

openLooKeng+Ranger+LDAP 认证鉴权能力演示

LooK

大数据 openLooKeng Ranger

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