Mitsukiの魔法実験室

Mitsuki's Magic Laboratory
Since 2002.09.14

2007/04/17

Posted at 2007/04/17 12:56 in Diary|Sekaiju

* 12:55 世界樹の迷宮、その13
 B13F 攻略中、Lv43。
 剣士の属性追撃って、追撃対象が全体魔法なら全体に追撃するのか。超強ぇ。全体魔法が複数とか追撃が複数とかだとどうなるんだろう?
 現行 PT で使えない武器をそのまま売るのもなんとなくもったいないので、荷物持ちに闇と侍と詩を作った。育てるのは一回終わらせてからかなあ、いつになるのか知らないけど。

2007/04/16

Posted at 2007/04/16 11:03 in Diary|Sekaiju

* 09:20 世界樹の迷宮、その12
 B11F 攻略(マッピング)完了。続けて B12F 攻略したのになかなか完了にならないなーと思ったら、ボス領域に入る隠し通路1個見逃してた。ボスは雑魚リンクしまくりで消耗品投入の総力戦になったものの、なんとか撃破。Lv42。

2007/04/15

Posted at 2007/04/15 01:34 in Diary|Web|Sekaiju

* 01:35 Twippera
 最近愛用中の twitter フロントエンド Opera widget。職場からだと IM みたいなコネクション張りっぱなし系のアプリケーションは使いにくいのと、せっかく Opera を常駐使用してるので、これを選択。  アイコンクリックで @username が自動入力できたり、tinyurl で縮小された URL を自動展開してくれたり(開く前に URL が確認できて安心)、順調に機能アップしてる。作者の人の作業状況が twitter 自体でぽろぽろ流れてくるのも面白い。  widget といえば、Opera 本体の Javascript を OFF にしてる間は widget が動作しないのはなんとかならないのかなあ。

* 15:50 世界樹の迷宮、その11
 例の 5 日間滞在クエストのせいか間があいてしまったけど、B10Fの続き。ボスのなんとかさん撃破。なんかすごく弱かった……Lv上がりすぎた? 続けて B11F 侵攻開始。ブシドーを仲間にできるようになった。
 使ってみたいスキルがなかなか習得できるようにならないので、ついにネタバレ封印解除してスキルツリーを見てしまう。おかげでようやくアリシア(錬)がイオナズン習得(違)したけど、大分スキルポイント無駄にしてるなあ。シビアじゃないっぽいからいいけど。
 というわけで全員 Lv39。

2007/04/11

Posted at 2007/04/11 10:49 in Diary|Sekaiju

* 10:50 世界樹の迷宮、その10
 なんとなく5日間滞在クエストをやりはじめたら思いのほか時間がかかった>< twitter のログみると4時間くらいやってたのかな。ねむいー。全員 Lv36。

Ruby の hash key は object そのまんま

Posted at 2007/04/10 21:13 in Ruby

404 Blog Not Found:perl|javascript - 文字列じゃないhash key
 JavaScript や Perl の場合ハッシュのキーは文字列限定なので、オブジェクト(Perl はそのリファレンス)をハッシュのキーとして使った場合、ハッシュからキーを取り出したらもはやオブジェクトではなくなってしまう、という話かな(Tie::RefHash なんてあるのね……)。

 Ruby の場合、データはすべてオブジェクトであり、ハッシュは「オブジェクトとオブジェクトを関連付ける入れ物」なので、キーにしたオブジェクトをハッシュから取り出しても元のオブジェクトのまま。そのため、以下のような破廉恥(?)なコードがごく自然に書けてしまう:


input = [ 'hogehoge', 'foooooooo', 'nyoron' ]
reply = { 'hoge' => 'fuga', /fo+o/ => 'bar' }

input.each do |instr|
    reply.each do |key, val|
        puts "#{instr} -> #{val}" if instr[key]
    end
end

 このコードは、配列 input の各文字列に対して、ハッシュ reply のキー(文字列または正規表現オブジェクト)を引数に [] 演算子を適用し、結果が FALSE/nil でなければハッシュの値を表示する。文字列の演算子 [] は、[] の中身が文字列なら普通の比較、正規表現オブジェクトなら正規表現にマッチする文字列を返す(一致・マッチしなければ FALSE/nil を返す)。実行するとこんな感じ:


> ruby test.rb
hogehoge -> fuga
foooooooo -> bar
> 

 ちなみにこれ、最近遊びで書いてる IRC bot "mistral" の自動応答機能の心臓部の抜粋なのだけど、Ruby のこの性質のおかげで、特に工夫するでもなくキーワードに文字列だけでなく正規表現も使えてしまうので便利(キーワード登録時には正規表現であることを明記する I/F は必要だけど)。

Page 14/41: [<<] [<] 10 11 12 13 14 15 16 17 18 [>] [>>]