Ruby 1.9.2 обратно совместим с 1.8.7? - PullRequest
1 голос
/ 13 сентября 2010

Я использую Ruby 1.9.2 (Yarv).

Когда я устанавливаю гем, я просто использую "gem install".

Как узнать, в какой версии Ruby они написаны: 1.8.7, 1.9.1 или 1.9.2?

Если я использую последнюю версию и устанавливаю гем, написанный на 1.8.7, то этот гем не работает?

Например. Ярдстик, похоже, не работает с 1.9.2, но прекрасно работает с 1.8.7.

Как проверить, какую версию использует каждый драгоценный камень?

Может ли кто-нибудь просветить эту тему для меня.

Ответы [ 2 ]

2 голосов
/ 13 сентября 2010

К сожалению, нет точного способа проверить это, поскольку существует так много версий и вариантов или интерпретаторов Ruby (Ruby, JRuby, Iron Ruby) и системных платформ. Также один гем, который является чистым Ruby, может не работать на всех платформах с одним и тем же интерпретатором, поскольку могут использоваться некоторые специфические свойства ОС.

Таким образом, вы должны доверять автору или документам, которые он / она предоставил. Еще один способ убедиться, что ваша платформа подходит для gem, просто запустить тесты, прилагаемые к gem - каждый хорошо написанный gem должен иметь такое.

Также есть небольшой совет: если файл содержит

# -*- encoding: utf-8 -*-

тогда автор, вероятно, разработал гем с учетом 1.9.x.

1 голос
/ 13 сентября 2010

Есть сайт для ответа на вопрос: «Это Ruby 1.9?»

http://isitruby19.com/

Похоже, никто еще не писал о Yardstick: http://isitruby19.com/yardstick

Вы можете быть первым и сообщить, что он сломан в 1.9.

...