Enumerable#sub_sequence?

ないみたいなので、書いてみた。

require 'enumerator'

module Enumerable
  def sub_sequence?(other)
    enum_cons(other.length).any?{|subseq| subseq == other}
  end
end

アルゴリズムとしては一番あたまわるい方法だよな*1、これ、とか、1.9 では enumerator どーなってるんだっけ? とかあるけど、今使いたいので、これでいいや。