技術的な話


ところでこの日記、データサイトからもつながってるんですよね。
開いたらいきなりあーやファン日記になってたりなので、たまにはデータ関連のネタでも書きたいと思います。
書くのは、ヘキパラ杯の掲示板からのデータの取得方法。


例として、私の10月27日付けこむちゃーとの予想を公開しますと。

投稿者:ふめい

1位 MASSIVE WONDERS
2位 恋する天気図
3位 Virgin's high!
4位 LOVE★GUN
5位 Re.MEMBER
6位 DAYBREAK'S BELL
7位 奈落の花
8位 Beautiful Amulet
9位 七転八起☆至上主義!
10位 ハナマル☆センセイション

あいぽん2週後こないかなぁ…。


こんな感じのテキストを掲示板に投稿しています。
このテキストをデータファイルから読み取り、まず半角大文字カタカナ文字に置き換えます。
さらに、一部の特殊記号(「!」や「?」など)を省いた形にします。
そうすると、こんな感じになります。

投稿者:フメイ

1位MASSIVEWONDERS
2位恋スル天気図
3位VIRGIN'SHIGH
4位LOVE★GUN
5位RE.MEMBER
6位DAYBREAK'SBELL
7位奈落ノ花
8位BEAUTIFULAMULET
9位七転八起☆至上主義
10位ハナマル☆センセイション

アイポン2週後コナイカナァ…。


なんか全く変わってない曲がありますが、置いといて。


こんな感じのテキストデータに変換したら、最初が「1」で始まっている行と「10」で始まってる行を確認します。
「1」で始まってる行から、連続して9行が「2」「3」「4」…「10」となっていればOK、なってなければエラーを返します。
続いて、「1」から始まってる行から10行のみを抜き出して、他の分をすべて削除。
さらに「○+位」の文字を削除します。投稿者名は、別変数で持っておくので省略。

MASSIVEWONDERS
恋スル天気図
VIRGIN'SHIGH
LOVE★GUN
RE.MEMBER
DAYBREAK'SBELL
奈落ノ花
BEAUTIFULAMULET
七転八起☆至上主義
ハナマル☆センセイション

予想がこんな簡単なデータになります。
最後にコンピュータで扱いやすくするために数字に変換します。

...
1132スキキライスキ
1133MASSIVEWONDERS
1118SHINIGSTARSBLESS☆
1134BLUEHEAVEN
1110BEAUTIFULAMURET
1110BEAUTIFULAMLET
1135奈落ノ花
1136人トシテ軸ガブレテイル
1137DANDANDAN
1141BRIGHTDOWN
1142BEAUTIFULWORLD
1143コスッテオーマイハニー
1118SHININGSTARSBRESS☆
1133MASSIVEWONDER
1144RE.MEMBER
1145ドンダケファンファーレ
1146恋ノミュージアム
1147ケンカ予報ノ時間ダヨ
1146恋スルミュージアム
...


こんな感じのリストが私のPCの中に入っています。あらゆる誤字に対応しています。
これと照らし合わせて、数字に変換。リストにないパターンの曲の場合はエラーを返します。
新しいパターンをリストに追加して再解析をかけることになります。

039
1133
1130
1154
1161
1144
1162
1135
1110
1166
1164


そして、プログラムの中で配列に格納し、保存しているというわけです。


補足。
1行目の039ってのは私の管理番号。曲名と同じように数字を割り当てています。
大体予想をこむちゃ開始ころから始めた人には070番前後、最近始めた人は150番前後の数字がついています。投稿者名から割り出しているので、代理予想とか検出できません(笑)
こればっかりはしかたないので、掲示板かなんかで報告ください…。


そして2行目以降のそれぞれの数字はひとつの曲を表しているわけですね。
最近のこむちゃソングは1100番台の番号が与えられています。
こむちゃに登場していなくても、予想者に予想されてれば番号が与えられています。
曲データに欠番がやたら多いのはそういった理由。