作者: 機械伯爵
日時: 2002/5/4(11:17)
 機械伯爵です。

>「page , name = i.split()[:2]」とやるとうまくいったりしませんか?

 おっけーでした☆
 う〜ん、そーいやスライスは考えてなかったなぁ(笑)
 確かに、2項限定にしてやると、エラーは出ませんね。

 ありがとう、ございました。

 しっかし・・・

 なぜエラーでるんでしょうねぇ・・・
 一応、途中経過をプリントアウトして見ましたが、分割した段階でページと名前の
2項リストにちゃんとなってるんですよね。
 んでもって、ASCIIだとうまくいくのも変だし・・・
 ひょっとして・・・

 ・・・わはは、ようやく気が付きました。
 リストの中の「正規表現 演算子」が、3項として引っかかってたんですね。
 んでわ、ちと改造をば・・・

--^ index2b.py
#!/usr/bin/env python
import sys,string
file = open(sys.argv[1],"r")
f_list = file.readlines()
tbl = {}
for i in f_list:
  i = i.split()           # ここが動かなければ、string.split(i)
  if i.__len__() > 2:     # インデックスに空白を含む場合、再連結
    i[1]=string.join(i[1:])
    i=i[:2]               # 余分な項目を取り去って、2項目に・・・
  page , name = i
  if tbl.has_key(name):
    tbl[name] = tbl[name] + "," + page
  else :
    tbl[name] = page
for name in tbl:
  print "%-20s" % name , " ... " , tbl[name]
#--$

 う〜ん、コンセプトだけみて、オリジナルのAWKのコードを見ないで作った
のがまずかった(汗)

※name=substr($0, index($0,$2))の意味が、最初良くわからなかった・・・

 こういう、抜き出し作業はAWKの独擅場だと思ったけど、こうやってみると、
スライスなんかも結構使えるので、ICONとかでも便利かもしれませんね。

 と、思って、某所(笑)に貯蔵の風使いさんのICON入門の打ち出しを片手に
書き出したのですが・・・う〜ん、結構クセの強い言語みたいなんで、ぱらぱら
と見て書くのはちょっと無理かな・・・

※forメンバーテストに相当するのがevery・・・いや、なんか微妙に違うなぁ・・

 誰かICONのコード書ける方、代わりに書いてください(爆)

   機械伯爵