写点什么

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

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

关注

评论

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

应用级容灾

agnostic

DR

Ikigai: 享受生命的意义

俞凡

思维模型 Ikigai

模块一作业(架构实战训练营)

Justin

架构实战营

流量路由技术解析

阿里巴巴云原生

阿里云 云原生 流量路由

替换目标中覆盖的文件如何恢复?EasyRecovery软件2023特色

茶色酒

EasyRecovery EasyRecovery15

新同事卷的要死 , 天天加班,动不动就手写spring , 直呼崩溃

程序知音

Java java面试 后端技术 春招 Java面试八股文

Spring 响应式编程,真香!!!

老周聊架构

响应式编程

2023-01-08:小红定义一个仅有r、e、d三种字符的字符串中, 如果仅有一个长度不小于2的回文子串,那么这个字符串定义为“好串“。 给定一个正整数n,输出长度为n的好串有多少个。 结果对10^9

福大大架构师每日一题

算法 rust Solidity 福大大

《零基础学 Python(2023 版)》学习笔记 Day1

IT蜗壳-Tango

流光绘影开年大秀顶级艺术团队×中科极光“真激光”精彩呈现

硬科技星球

airserver2023最新版免费使用教程

茶色酒

AirServer2023

架构实战营模块 4 作业

刘博

2023年玩兔年小游戏《兔兔保卫萝卜战》赢新年祝福「钱兔无量」

非喵鱼

Java swing 小游戏 新年祝福

一文读懂什么是 Web3 架构

风铃架构日知录

编程 程序员 后端 码农 web3

单体的 TienChin 和微服务的 TienChin 有何异同?

江南一点雨

微服务

13 个前端可能用得上的 CSS技巧

devpoint

CSS ios 前端开发 scss

作为QA,我们要如何思考?

QE_LAB

测试思维

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

石臻臻的杂货铺

自动驾驶

程序员为什么下班后只关显示器从不关电脑

风铃架构日知录

Java 程序员 后端 码农 IT

让 Java Agent 在 Dragonwell 上更好用

阿里巴巴云原生

Java 阿里云 云原生

SpringBoot 框架中的 Tomcat 为什么一定要替换掉?

风铃架构日知录

Java spring 程序员 后端 springboot

Higress & Kruise Rollout: 渐进式交付为应用发布保驾护航

阿里巴巴云原生

阿里云 云原生 Higress

模块四作业

Ryan

架构

年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化

阿里巴巴云原生

阿里云 Serverless 云原生

MSE ZooKeeper 数据导入导出功能上线

阿里巴巴云原生

zookeeper 阿里云 云原生

接口限流算法:漏桶算法&令牌桶算法&redis限流

懒时小窝

ImageView(图像视图)

芯动大师

imageView android布局 图像视图

微博评论的高性能高可用计算架构

闲人Eric

#架构实战营

对话开发者:Serverless 落地的困境与破局

阿里巴巴云原生

阿里云 Serverless 云原生

RocketMQ 多语言 SDK 开源贡献召集令

阿里巴巴云原生

阿里云 RocketMQ 云原生

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