#! ruby -Ks

s1="あいう"
p s1.length

ar=s1.split (//)
p ar.length

日本語文字数を計算するのはコレしかないんですか?

それと、size/lengthは何か違いがあるんですか。
内部の実装で、sizeの方がsizeof (byte) * count
lengthの方が自動で str.split(//).size みたいな遅延評価
とかになってないんでしょうか?