HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

架构实战营毕业总结

Abner S.

#架构实战营

云主机是什么?可以用来干嘛?

行云管家

云计算 云服务 云主机 云平台

【引航计划】优质内容合集名单公布

InfoQ写作社区官方

引航计划 热门活动

招募令!焱融 SaaS 平台新产品招募100位体验官

焱融科技

云计算 分布式 高性能 文件存储 NAS

利用守护线程隐式关闭线程池

FunTester

Java 线程池 接口测试 FunTester 守护线程

2021云栖大会|东方通正式加入阿里云云原生合作伙伴计划,强强联手共创国产数字化转型新风向!

阿里巴巴云原生

阿里云 云原生 合作共赢 云栖大会

英特尔公司CEO帕特·基辛格致开放生态系统的一封公开信

科技新消息

helm部署的es出现探针过不了的问题

ilinux

事件管理CRM系统是活动策划工作的必要工具

低代码小观

CRM 管理系统 事件管理 CRM系统 活动策划

CFI技术新探索,struct_san今日登场

腾讯安全云鼎实验室

云安全

落实等级保护工作的意义简单说明-行云管家

行云管家

网络安全 等保 等级保护 安全等级保护

MongoDB技术实践与应用案例征集活动

MongoDB中文社区

mongodb

字节跳动Web Infra发起 Modern.js 开源项目,打造现代 Web 工程体系

字节跳动终端技术

字节跳动 大前端 开源技术

二本渣渣的金九银十辛酸面试之旅:5 面阿里(Java岗) 侥幸上岸

Java 编程 程序员 架构 面试

1024 写给程序员的一些建议

Andy阿辉

编程 程序员 程序人生 程序 java;

四万字32图,Kafka知识体系保姆级教程宝典

五分钟学大数据

大数据 kafka

Python代码阅读(第46篇):寻找符合条件的元素

Felix

Python 编程 Code Programing 阅读代码

终于有人把云原生存储讲明白了

青云技术社区

云计算 云原生 存储 Cloud Native

搭建springboot-tdengine 环境

williamcai

tdengine Spring Boot

Aeron是什么?

BUG侦探

Aeron

校招失败,在小公司熬了2年后我终于进了阿里,竭尽全力(Java岗)

Java 程序员 架构 面试 计算机

Kubernetes Operator 开发入门

侯生

Kubernetes operator #k8s

用会声会影制作手链的展示视频

懒得勤快

每周学习感想

张靖

#架构实战营

高校人才集聚飞桨启航菁英计划!百度联合中国图象图形学学会助力AI人才培养

百度大脑

人工智能 百度 图像

Gartner发布《2021年企业低代码平台魔力象限》低码一体化平台成趋势!

优秀

低代码

微信业务架构

stars

架构训练营

京东架构师珍藏版:redis深度笔记(全彩版)全篇精华,细节满满

收到请回复

redis 编程 面试 后端 计算机

携手企业创新 共创美好未来——低代码助力企业数字化

明道云

4个实验,彻底搞懂TCP连接的断开

Java 架构 TCP 后端 网络编程

【权限专栏】联盟链的“圆桌会议”

趣链科技

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