原です。

>|* 辞書式順序 Range#===
>|* succ式順序 Range#each, Range#include?
>|
>|にしたいってことなんですね?

include? は === と道連れで

  * 辞書式順序 
  * succ式順序 Range#each, Range#include?, Range#===

にしたい、ということではないかな。


でも、やっぱり

  case ch
  when "a" .. "z"

と書くと、比較的高速にchでの分岐を与えてくれているというイメー
ジがあるので、そこでsuccが何度も呼ばれているというのは、気持
ち悪い気がします。


ところで、何が問題か忘れてしまったのだけど(^^;
現状のどこがまずいんでしたっけ。

  ("a".."b").include?(x)

となるxと

  ("a".."b").each do |x|

となるxを一致させたいという話でしたっけ?一致させたいなら
include?の代わりにmember?を使うということではなかったかな。


ところで、現状では

  ("a0".."b").each do |x|
    p x
  end

が"a0"のみ出力するのはどういう仕組みでしたっけ?