http://jp.rubyist.net/magazine/?0009
1周年記念号です。今回から、私もお手伝いさせてもらってます。
今回はサンプルスクリプトのチェックをやってみました。
「前10日分」のリンクが効いていなかったので、.htaccessを修正しました。
RewriteRule ^diary/([0-9]+)\.html$ diary/index.rb?date=$1
を
RewriteRule ^diary/([0-9\-]+)\.html$ diary/index.rb?date=$1
に修正。
いつの間にか Meadow 2.10 がリリースされていたので、アップデートしました。
setup.exe からファイルを更新して、ImageMagick のインストールを実行。 古い ImageMagick はアンインストール。
特に問題なく完了。
自民党の名簿が足りなくなったとかいう事態が起こったそうなので、 比例の議席配分を計算して確かめてみました。
東京都選挙管理委員会による開票結果です。
衆議院議員選挙の比例代表制では、ドント式という方式が採られています。
これは、各政党の獲得票数を1, 2, 3, ... で割っていき、 それぞれの数を大きい方から定数分だけ選んでいくという方式です。
各党の議席数を1, 2, 3, ... で割っていくと、下のようになります。
自民 | 民主 | 公明 | 共産 | 社民 | 日本 |
2665417 | 1962225 | 820126 | 586017 | 300782 | 290027 |
1332709 | 981113 | 410063 | 293009 | 150391 | 145014 |
888472 | 654075 | 273375 | 195339 | 100261 | 96676 |
666354 | 490556 | 205032 | 146504 | 75196 | 72507 |
533083 | 392445 | 164025 | 117203 | 60156 | 58005 |
444236 | 327038 | 136688 | 97670 | 50130 | 48338 |
380774 | 280318 | 117161 | 83717 | 42969 | 41432 |
333177 | 245278 | 102516 | 73252 | 37598 | 36253 |
この表から、定数である17個だけ大きい方から選ぶと、下の★印のようになります。
自民 | 民主 | 公明 | 共産 | 社民 | 日本 |
★2665417 | ★1962225 | ★820126 | ★586017 | 300782 | 290027 |
★1332709 | ★981113 | ★410063 | 293009 | 150391 | 145014 |
★888472 | ★654075 | 273375 | 195339 | 100261 | 96676 |
★666354 | ★490556 | 205032 | 146504 | 75196 | 72507 |
★533083 | ★392445 | 164025 | 117203 | 60156 | 58005 |
★444236 | ★327038 | 136688 | 97670 | 50130 | 48338 |
★380774 | 280318 | 117161 | 83717 | 42969 | 41432 |
★333177 | 245278 | 102516 | 73252 | 37598 | 36253 |
これから分かるように、自民は比例では8議席当選となります。
しかしながら、小選挙区で自民党が勝ちまくってしまったため、 比例代表の名簿には7人しか残っていません。 (小選挙区との重複立候補者は、小選挙区で当選した場合、 比例の名簿には載っていなかったものとして扱われます)
公職選挙法の第95条の2に、「除数は名簿登載者の数までだよ」と書いてあるので自民のところの 8議席目は存在しないのです。
ということで、その次に数の大きい社民党に議席がまわったのでした。
実際の名簿登載者数を考慮に入れると、下の表のようになります。 ×のところは存在しません。
自民 | 民主 | 公明 | 共産 | 社民 | 日本 |
★2665417 | ★1962225 | ★820126 | ★586017 | ★300782 | 290027 |
★1332709 | ★981113 | ★410063 | 293009 | 150391 | × |
★888472 | ★654075 | 273375 | 195339 | × | × |
★666354 | ★490556 | 205032 | 146504 | × | × |
★533083 | ★392445 | × | × | × | × |
★444236 | ★327038 | × | × | × | × |
★380774 | 280318 | × | × | × | × |
× | 245278 | × | × | × | × |
JavaScript が大流行の今日このごろですが、遅ればせながら本腰を入れて触ってみようということで メモ代わりに足跡を記してみることにします。
Javascript+HTML のデザインパターン (yohei-y:weblog) に、 JavaScript と HTML の分離の話が出ていたのでこれを参考になるべく HTML 側には JavaScript を入れない方針で書いてみます。 その方がきれいそうですし。
まずは、クリックしたら色が変わるあたりからやってみます。
ということで組んでみたの結果できたのがこれ。test1.js.txt サンプル
IE6、FireFox 1.07、Opera 8.02 で試してみた限りではちゃんと動いてるようです。
JavaScript を敬遠していた理由の一つが、言語自体は別に避けたいとは思ってなかったのですが、 「JavaScript で HTML を扱う方法」をどうやって調べればいいのかよく分からなかったということです。
DOM に関して言えば、仕様書を読めばいいのかな…… ちょっと読んでみます。
sheepman さんが OptionParser のリファレンスを書かれたようです。
on メソッドを呼んだ時点では、ブロックが実行されないことが OptionParser が難しいといわれる原因だろう
「ブロックは要はラムダのこと」(るびまの中田さんのインタビュー)なので、 すぐ使われなくてもかまわないですが、確かに、Ruby のブロックはすぐ実行される例が多いですね。
OptionParser と言えば、ruby-dev:25048 で、--lines を定義すると -L も定義されてしまう という仕様が指摘されていたのですが、これは今はなくなっているようです。
define や def_option というのもあるようです。
こっちの方が on より分かりやすそう。