作者: davi
日時: 2008/6/26(06:46)
Yささん  <  こん??は でび です

On Thu, 26 Jun 2008 00:50:30 +0900 (JST)
saw@...-nokuchi2pho.ne.jp (Yさ) wrote:

> ヒントだけでよければ、こんな感じでどうでしょう?

早速、ありがとうございます。

> -----[usort.awk]
> BEGIN{
>   last=split("い,ろ,は,に,ほ,へ,と,ち,り,ぬ,る,を,わ,か,よ,た,れ,そ,つ,ね,な,ら,む,う,ゐ,の,お,く,や,ま,け,ふ,こ,え,て,あ,さ,き,ゆ,め,み,し,ゑ,ひ,も,せ,す,ん",tbl,",");
> }
> function GetPos(s, i){

>   for(i=1; i<=last; ++i)

3個目の引数,がspritの基準字ですね。

>     if(s==tbl[i]) return i;

2個目の引数tblの意味は、sに対応するi、という配列を作る宣言という理解で
よろしいでしょうか?

>   return last+1;

1個足すのは?
splitの並びの末尾にnullが入るのを、sとiの対応関係を壊さないように処置?

>   for(i=1; i<=n; i+=2) printf("%02d", GetPos(substr($0,i,1) substr($0,i+1,1)));

ん〜、ここ、解読不能。印刷して今日持ち歩きます。

でび  http://davi.txt-nifty.com/1984/