-4

で書かれたいくつかのルビースクリプトがあり1.8.6ます。1.9.2今、私はまたは安定している他のバージョンにアップグレードしたいと思います。

このスクリプトにはいくつかのgemとrubyのビルドライブラリがあります。それをrubyにアップグレードすると、1.9.2どのような問題に直面する可能性がありますか?

4

2 に答える 2

1

これらのいくつかは、アップグレード時に遭遇する一般的なものです。

1.8.xを使用している場合require local_file、現在のディレクトリがロードパスから削除されていることがわかりますが、1.9.xrequire_relativeはこの目的のために導入されています。

文字列の処理方法は少し異なります。

1.9.2 c?
=> c
1.8.7 c?
=> 99

1.9.2では、文字列への配列は1.8.7 Array.inspectと同じです。つまり、句読点を追加します。

1.9.2 [1,2,3].to_s
=> 1,2,3
1.8.7 [1,2,3].to_s
=> 123

1.9.2の古い動作の場合はjoin、1.8.7の新しい動作を使用しますinspect

その他の変更のレビュー

于 2012-09-25T09:18:24.777 に答える
1

Rubyでは、私たちの多くがこのような状況に直面しています。新しいバージョンにアップグレードすると、古いバージョンでは正常に機能していたコードが破損する可能性があります。

素晴らしいウェインE.セギン氏もそれに直面し、rvmと呼ばれるこれを解決するための優れたツールを作成しました。

一言で言えば、rvmを使用すると、さまざまなバージョンのruby(たとえば、1.8.7または1.9.2)をインストールし、簡単にこれらを簡単に切り替えることができます。

rvm use 1.8.7

https://rvm.io/にアクセスして、マシンにrvmをインストールする方法を学ぶ必要があります。次に、現在のルビーバージョンとアップグレードしたいバージョンの両方をインストールできます。2つを切り替えて、スクリプトが機能しているかどうかをテストします。これにより、少なくとも将来の時間を節約できるはずです。

于 2012-09-25T09:40:45.830 に答える