作者: 藤岡和夫
日時: 2008/6/28(13:41)
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