rubyで文字数を数えるには?

http://d.hatena.ne.jp/muscovyduck/20060504を参照。railsのvalidationsのvalidates_length_ofでも同じことをやっている。
valueに文字列が入っている場合value.split(//).sizeで文字数が得られる。
#byteの文字数ではないことに注意。

ある文字列の文字数を調べるには、文字列を文字単位で配列に格納してから、配列のサイズを得ればいいみたい。

文字列を文字単位で配列に格納するには、String#splitを「//」を引数にして実行すればいいみたいだよ。

            validates_each(attrs, options) do |record, attr, value|
              value = value.split(//) if value.kind_of?(String)
              if value.nil? or value.size < option_value.begin
                record.errors.add(attr, too_short)
              elsif value.size > option_value.end
                record.errors.add(attr, too_long)
              end
            end