InfoQ

News

JRuby 1.1.2リリース、Ruby 1.8.7の新機能のプレビュー

作者 Werner Schuster, 翻訳者 長部 広太 投稿日 2008年6月5日 午前3時39分

コミュニティ
Java,
Ruby
トピック
ランタイム,
JRuby,
プログラミング
タグ
JRuby,
Open Source Project Releases

RailsConf 2008(source)に丁度間に合って、JRuby 1.1.2がリリースされた(source)。(JRuby 1.1.2のダウンロード(source)) 今回リリースされた1.1.xブランチのメンテナンスリリースには、バグの修正と重要なパフォーマンス増加が幾つか含まれている。

既に報告済みではあるがstartup peformance boost(source)は、JRubyのjarファイルをbootclasspathに置いてしまう(source)という考えに基づいている。boootclasspathからクラスをロードする方が、一般的なクラスパスからロードすることと比較して早い。理由はバイトコードが、検証されないからだ。

MRIの安定版Ruby1.8.xブランチのランタイムリリースが利用可能だ。Ruby 1.8.7 preview 4がリリースされた(source)。Ruby 1.8.6以降追加された機能とAPIの概略をリストにしたもの(source)、またはMRIのChangelog全て(source)を確認することが可能だ。

Ruby 1.8.7 preview 4と前のバージョンのプレビュー新機能違いをざっと眺めてみると、いくつかは活発な機能があり、以前持ち出された機能は消えて、そして再び変更されたものがある。

大きな変更点は、Symbolto_procメソッドが、復活したことだ。Symbolto_procメソッドは、Ruby1.9で初めて現れた(source)。Ruby 1.8.7 preview 1は、バックポート版を含んでいた(source)。それは、Rails特有のSymbolto_procメソッドのカスタムバージョンを利用しているソフトウェアの不具合を発見したときに見つけられた(source)。このことが原因で、Symbolto_procは取り除かれたが、このメソッドの振る舞いが、テストスイートを全てパスするように変更された後に、また取り入れられた。現状を見ると、Symbolto_procメソッドは、Ruby 1.8.7で定着しているようである。

前に言及してなかったAPIの変更リストは、以下の通りである。

  • Binding#eval
  • __method__メソッドは、現在のメソッドの名前をSymbolとして返します。
  • String#bytesizeは、文字列のサイズをバイトで返します。
  • Object#instance_exec

APIの幾つかの振る舞いが変更された。それが原因でアプリケーションに不具合が生じる可能性がある。

  • Date.parseは、'##.##.##'が現在、'MM.DD.YY'ではなく、'YY.MM.DD'と解釈されるので変更された。
  • アンダースコアを含んだ数字をレシーバーにして、String#to_iString#hex及びString#octメソッドを使ったときの振る舞いが変更された。例えばRuby1.8.6では、'10'の結果は、'10'となるがRuby1.8.7では、1となる。より完全な概略を知りたい場合は、リリースノートを確認して欲しい。

原文はこちらです:http://www.infoq.com/news/2008/05/jruby112-ruby187-preview4

ブックマーク
digg+,
reddit+,
del.icio.us+,
dzone+,
Hatena

No comments

返信

特集コンテンツ一覧

トップスポーツチームの監督に教わる秘訣

この論文では、氏が発見した原則を要約し、その原則をいかにしてソフトウェア開発に応用するかを説明します。

事例研究:Dutch Railwaysのプロジェクトにおける分散拠点でのスクラム・プロジェクト

この記事では、私達がどのようにして大規模(240人月、10万行強)でインドとオランダの開発者も参加したスクラム・プロジェクトを成功させたのかを示しています。

Agile2008チーム参加レポート - 帰国そして変化

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。参加者はカンファレンスで各々の発表や、各セッションへの参加、諸外国のエンジニアとの出会い、ステージ上で DearXPを熱演などの様々な思い出を抱えて、無事日本に戻ってきました。

SilverlightとJavaのインターオペラビリティ

マイクロソフトのRobert Bellが、SilverlightとJavaを使用したインターオペラビリティのシナリオを紹介し、サンプルコードを例にとってアーキテクチャの手引きを提供します。

Agile2008 チーム参加レポート - カンファレンス参加編

Agileカンファレンスに「参加者としてだけでなく、発表者として参加しよう」を掲げたチームgoyattomは、サブミッションを提出し、7つのセッションが日本から選択されました。サブミッションが選択された人、そうでない人も含めて、個々の目的意識の確認、膨大なプログラムから聞きたいセッションの選択、旅行の準備、プレゼンテーションの準備の期間を終えて、無事当日を迎えました。

Agile2008 チーム参加レポート - 動機/準備編

筆者はアジャイルソフトウェア開発についての年に一度の国際会議であるAgile2008に初めて参加してきました。今年の日本からの参加者の数は14名にも及び、発表者は5名、受け持ったセッションは8つに及び、例年にない活躍を見せました。なぜ今年のAgile2008では、これほど多くの日本人が参加し発表に至ったのか? そのレポートをお届けします。

Javaトラブルシューティングメルマガ総集編 2008/08~09

エスエムジーでは、Java全般を対象にしたトラブルシューティングサービス「JaTS」を提供しています。この記事では、前回に引き続き、JaTSにて蓄積したトラブル事例とその解決ノウハウの一部をお送りしている「Javaトラブルシューティングメールマガジン」(JTSMM)の総集編として、過去2ヶ月のトラブル事例と追加情報をダイジェストとして提供いたします。

モデル駆動アプローチがうまく機能しない(しなくなる)8 つの理由

この記事では、モデル駆動アプローチがうまく機能しない、または機能しなくなることによって期待した結果が実現できなくなる 8 つの理由について書きたいと思います。