From: Hideo Konami Date: 2010-04-03T12:57:46+09:00 Subject: [ruby-list:46996] Re: ASCII 文字の連続性について 小波です. >いけだと申します。 > >[ruby-list:44113]によると、 >> 無限ループを避けるため「辞書順のチェック」が入ってます >ということらしいです。 ありがとうございます.用例を見ると, "a" .. "bb" というふうに 任意のアルファベットの文字列の「間」を埋める範囲を,範囲演算子 は生成するのですね.そのためにアルファベット—非アルファベット の境界で切れ目が作ってあると. しかし,任意の文字ではなく,文字列の間を範囲演算子でつなげる という仕様は,期待されるものとは異なる要素を生成してしまうこ とがありそうで,かえって怖いように思います. >文字列ではなく文字コードの範囲を作れば、うまく動きます。 > >(0x20..0x7e).map{|i| i.chr} >#=> [" ", "!", "\"", "#", "$", "%", "&", "'", "(", ")", "*", "+", ",", >"-", ".", "/", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", ":", >";", "<", "=", ">", "?", "@", "A", "B", "C", "D", "E", "F", "G", "H", >"I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", >"W", "X", "Y", "Z", "[", "\\", "]", "^", "_", "`", "a", "b", "c", "d", >"e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", >"s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~"] たしかにこれなら大丈夫ですね.助かります.