On Sat, 28 Jun 2008 09:38:00 +0900
藤岡和夫 <kazuf@...> wrote:
> このようにutf8フラグの話が入ってくるとPerlは躓いてしまうことが多くなる
> と思います。使いにくい。Rubyなら簡単なのかも。
言うだけではなんなので、試してみました。もりきゅうさんの「Perlユーザー
のためのRuby入門」を参考に。
Rubyが変数やハッシュの未定義を許さないのに戸惑ったぐらいで^^;)、予想通り、UTF-8
でスクリプトを保存して
ruby -Ku daviusort.rb
だけで済んだ^^)v
-----^
chars = "い,ろ,は,に,ほ,へ,と,ち,り,ぬ,る,を,わ,か,よ,た,れ,そ,つ,ね,な,ら,む,う,ゐ,の,お,く,や,ま,け,ふ,こ,え,て,あ,さ,き,ゆ,め,み,し,ゑ,ひ,も,せ,す,ん"
tbl = chars.split(/,/)
j = 0
char = Hash.new
for i in 0..(tbl.length - 1) do
j += 1
char[tbl[i]] = j
end
numstr = ""
words = Hash.new
while line = DATA.gets
wchars = line.chomp.split(//)
p wchars.length
for k in 0 .. (wchars.length - 1) do
numstr += sprintf("%02d", char[wchars[k]])
end
words[numstr] = line
numstr = ""
end
words.keys.sort.each{|numstr| print "#{numstr} #{words[numstr]}"}
__END__
いぬ
とちのき
にんじん
はむたろう
ろば
へらぶな
とり
ほらがい
-----$
藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html