こんばんは。さいきんの話題がレベルが高いのでちょっとはずかしいのですが
聞くは一時の恥で聞いてしまいます。いい題名が思いつかなかったので適当な
ものがあれば変えてください。
CGIでアンケートを作りました。でもけっきょくRimnetではRubyが使えないの
で公開できないのですが。
ユーザーからの投票を配列votesにいれ、
データのファイルが
aaa,3
ccc,2
...
といった単純なものだとして、
ユーザーからの投票がデータにあれば投票数を1足して、データになければ新
しいエントリーを作る、という感じのものです。
# 説明がへたですね。
リファレンスを読んで、配列の配列の説明にあったassocを使って以下のよう
に書いてみました。
votes = ["aaa", "bbb"]
data = [["aaa", 3], ["ccc", 2]]
for i in votes
if data.assoc(i)
data.assoc(i)[1] += 1
else
data.push([i, 1])
end
end
p data ## --> [["aaa", 4], ["ccc", 2], ["bbb", 1]]
これはこれでちゃんと動いてくれるんですがかなりむりやりな気がします。使
うメソッドを決めてからそれに合うようにデータを加工するなんてやりかたを
したからなんですが。
みなさんが書くとしたらどう書かれるのでしょう?
--
Akihiro Yamauchi
e-mail: aygoofy / kt.rim.or.jp
URL: http://www.kt.rim.or.jp/~aygoofy/index.html