0

Ruby 2.0 には enumerable の遅延評価が含まれています: http://railsware.com/blog/2012/03/13/ruby-2-0-enumerablelazy/

.lazyこの表記法 ( ) を、私が作成しているアプリケーションに含めたいと思いますが、Ruby の任意のバージョンを実行しているユーザー向けです。ただ、その人がRuby 2.0を使っているのであれば、ネイティブ実装に任せたいところです。

これはおそらくテンプレートとして使用するプロジェクトです: https://github.com/yhara/enumerable-lazy/blob/master/lib/enumerable/lazy.rb

Ruby のアクティブなバージョンが 2.0 未満の場合にのみ、このモジュールをロードするにはどうすればよいですか?

4

1 に答える 1

1

yhara のバージョンは廃止されていることに注意してください。私のbackports宝石にあるものを使用する必要があります。それは MRI のテストに合格しlazyます:

require 'backports/2.0.0/enumerable/lazy'
(1..42).lazy... # => works in all Rubies

Enumerable.method_defined?(:lazy)定義する必要があるかどうかを知るような条件を使用するだけです (私が で行っているようにbackports)

于 2013-03-01T19:03:46.703 に答える