artonさんのところで話題になっていたので、わたしも書いてみました。無駄に複雑にしています。てへ♪ でも、each_charって便利ではないでしょうか。 $KCODE = 'SJIS' class String def each_char scan(/./) do |c| yield(c) end end def char_count n = 0 each_char do n += 1 end n end end p "日本語".char_count "日本語".each_char do |c| puts c end実行結果です。 3 日 本 語 参考: artonさん 追記:artonさんから、「$KCODEよりも-Kで」という情報をいただきました。理由はshe bang行に-Kで書いておくと読み込み時に評価してくれるから、とのこと。あっ、Windows版でもちゃんと読むんですねっ♪