2009/04/02(木)俺よりエディタを信じる漢

俺はコードの階層構造はエディタの自動インデントを信じる。自分では把握しないポリシーだ。(かっこよさ気に言う事じゃありませんね)

いつまでも未完成な BOD管理CGI を久しぶりに弄った。
いじっているうちに、すっごい根本から書き直した。
一番てっぺんの呼び出し元の仕様から変えないといけない変更を入れた。
よく考えてコードを書くときはボトムアップで書くので一番下の関数を書いた。
関数を置き換えるだけにすればいいのに元あった関数もいじった。その他整形のためとかちょこちょこいじった。
なんかバグった。

コードの階層構造は自分では把握しないのでエディタがインデントを入れるに任せるんだが(えらそーに言う事じゃありませんね)、エディタのインデントが崩れている。しかし周辺に何もおかしな記述が見つからない。そもそも perl インタプリタ自体は文法上のエラーを吐かないし、premature end of script とか言わないので構造自体には問題なさそうだ。最終的に帳尻があっているだけかもしれないが、さすがに闇雲にエディタのインデントが合うように調整、みたいな書き方はしないのでこれもないだろう。
しかし、Not a CODE reference at bod_manage.pl というのは関数を定義しているうえでこんな事を言われる以上、どこかで階層構造がイカれているような気がする。自力で深く考えずに勘でいうなら、呼び出している箇所か呼び出される先のスコープがどこかおかしな所に入っている。

emacs の場合は cperl-mode を使っているが、他のインテリジェントなエディタは何か見つけるかもしれない、と思いいろいろ試す。# 自力で読む気はないらしい。

Komodo Edit を入れてみた。Komodo Edit は Perl の大御所といえるであろう、Active State がリリースしている統合開発環境からエディタだけを抜き出したもの。
意外とつかえねー。階層構造をフォールディングできる部分はすばらしい。euc-jp に対応したら使ってみようと思う。euc-kr 対応で euc-jp 非対応ってどうなのよ。

perltidy で整形してみた。
狂っていたインデントが揃った。揃っちゃったよ、ぉぃ。

emacs に戻って perl-lint-mode を使ってみる。
$_ 使うなとか配列に対する暗黙のスカラーコンテキストによる評価とか細かい警告は出るが、最終的には Syntax OK. と出る。

桜エディタを使ってみた。
自動整形機能はついてないらしい。

やべーくらい夜更かしした、早朝ミーティングの前日深夜。
直った。
気にしてた関数と全然違う所で確かに、Not a CODE reference at bod_manage.plって言われてた。
意識した関数に引数として関数を渡してるはずの箇所に関数渡ってなかった。下のほうの処理と上からの処理をすり合わせた時にミスったらしい。結局自力で気づいたか...。
ぶっちゃけ、インデントと関係ない。

これだから Perl のいないメンバオブジェクトにアクセするとオブジェクトが勝手に生えるとか関数の引数に関数を入れられる(※)とかイやなんだ!使うけど!
あと Perl の自動インデント泣かせないろんな記号をやたらと使う所。正規表現の特殊記号とか使うとどうしても崩れる。perl-mode から cperl-mode に乗り換えてかなりよくやってくれるので油断してた。
(※)正確には引数の中で関数が評価されること。C でも関数ポインタを引数として渡すとかは可能。

perl-lint-mode が呼び出しているモジュールも理解してくれるとすぐ見つかったんだろう。
つうか、Perl の Warning で行数じゃなくオブジェクト名をずばりいってくれ。細木和子張りにずばり言ってくれ。

ちなみに、CGI 自体はまだまだ、いつまでも未完成です。
バックエンドを大幅に変える、そもそも開発言語を変える、という俺しか楽しくない変更もありうる。

うちの BOD の山がこなれて来たら完成を急ぐかもしれない。

2009/04/01(水)2099年宇宙の旅

「ウルティマ オンライン:帰還(仮称)」発表!

多くの人の目に触れないへんぴな Blog なんで言ってしまうが、クローズドβに当選した。プラットフォームもまだ未定らしく、暫定的に使用している Transmeta 社の 256bit CPU が載った専用ハードウェアといっしょに貸してくれる。
「脳とコンピューターを直結するインターフェースが現実に」 操作にはこれの新しいやつを使うそうです。これも4年経った今ではギリ実用できるらしい。すげぇな。

まだ実装が進んでいないのでモノが届く時には話が変わっているかもしれないという話だけど、今の所こんな感じらしい。
見せられないけどコンセプトアートとかは貰いました。正直、見せられてもどうやって操作するもんなのか想像つかん。



2009/03/31(火)名づけ物語

あんじの名づけ物語より。
キャラ名の由来と各キャラの紹介。

うちキャラの名前は音楽、楽器関係が多い。
  • teak
    • 1st キャラで、引退前は本名だったけど復帰を機に改名。由来は自分の持ってるギターの素材から。復帰したものの、現仕様には沿わず包帯戦士としてどたばたな狩りを好む。主にエクソダスダンジョンに出没する。
      • ペットはゴキの a giant swing、ただの思いつき。
  • aiha
    • 2nd キャラで、1st が裁縫戦士をあきらめたのを機に裁縫をするために誕生。由来は日暮愛葉から。後にアドオンマスターとして各種生産をこなす。主にデルシアに出没する。
  • seen
    • 3rd キャラで、採掘、鍛冶をするために誕生。松下工房のブランド名から。aiha も鍛冶を極めたことから採掘専門になり、現在は弓、包帯スキルを持ってエレメンタルハンターとして色インゴットを収集している。主にフェルッカのダンジョンに出没する。
これ以降は復帰後、ソウルストーンの登場以降に作られたキャラたちなのでいろいろちぐはぐ。
  • tick
    • 白豚。現仕様に追従しようと作られた。名前の由来は、1st が竹と呼ばれているので同じように呼ばれようと ちく にした。ステスク20 等お金を掛けて育成されたが、包帯サイコーという理由で出番はほぼ0。どこにも出没しない。
  • losalio
    • トレハンテイマー。由来はLOSALIOS から。トレハン用なので装備品などはかなりテキトーで済まされているが出現頻度は高い。トレハン専門だと Gドラがいればスキル構成も手抜きでいいことが判明し、瞑想や EI を持たない代わりに釣りを嗜む。トレハンポイントに出没する。
      • ペットは、黒クーシーが UA の曲に出てくる黒犬PoPoLooise, Gドラは Losalios のドラマー中村達也の異名から The Drum Beast, オスタは Losalios のベーシスト TOKIE とか。
  • Luiza
    • バードメイジになる予定で作られて放置されているキャラ。なぜか書写入り。由来は Bossa Nova の始祖 Antonio Carlos Jobim の娘の名前もしくは娘を歌った曲名 Luiza から。スキル構成が不完全なものの、キャスターとしてのステ振り、装備が整っている事から他のキャラの Mage, Necromancy スキル上げを肩代わりしたりする。
  • Moon
    • 役割は一応木こり。由来はMoon Guitarsから。今もっているギターを買う際に、実は店頭に並んでいた Moon を狙っていたのだがいざ購入を決めた際には売約済みだったという悔しい思い出がある。一応木こりと大工を極めているが、Pub58後のミニパブリッシュで大工スキルが不要になった、報われない子。スキル倉庫として鍛冶GM、錬金術GM、また、矢を作る程度の腕前の弓大工もこなす。
2アカにもキャラはいるが、ほとんど捨てキャラなのでかいつまんで紹介。
  • zegna
    • 裁縫師。由来はErmenegildo Zegna から。当然リアルでは買えない。バルクを受け取れるキャラではあるが、2アカをほぼ使わないため存在価値が疑われる。
  • Holly C
    • 堀師。由来は ほりし。採掘スキルも含め、スキルは総じて低い。
  • Luiza(エルフ♀)
    • ステハイ書写メイジ。由来は1アカと同じ。かつては土エレ、水エレを召還し、自分は隠れてアリを狩るのに重宝されていた。Pub58 で転送粉の仕様が戻り再び活躍するかと思いきや、転送粉集めをする気が起きないという理由から出番はない。
  • Luiza(エルフ♂)
    • プチレアハンター。元はトレハンバードの予定で鍵開け、地図作成を極めているが、バードの修行に挫折。思い付きからアクセ、装備品のブーストにより5分でプチレアハンターシーフにされた。

2009/03/29(日)家見学とか Doom とか

金曜日の話。

UO 熱が下がり気味。ってことで資産放出してみようと溜まっていた鍛冶バルクを処理。色鉄素材のパーツをガンガン処理。
ダルルニ、黒ルニ、てんぷら粉を山盛りゲット。称号も Lady に。新しく貰ったバルクはゴミばかり。
音楽ギアが最近は売れてないけどレアギアが揃ってないのは気になるのでゴーレム狩。やっぱりギアの入手率が低い気がする。お金が大量に持てるようになったおかげで長く篭れるんだけど出たのはコモン 4つのみ。
店頭に出てないものも入手したけど、売れてないので補充はせず。

補充しに店に行くと Naomi Sounds さんがふらりと店に寄られた。なんでもこの辺は通り道なんだとか。
そのときは世間話をしてサヨナラ。

その後、ルナファームのみやびさんがいたのでお隣にお邪魔する。
なにやら外人さんがルナファームの RB をコピーしに来店。プロフをみると英語ネイティブでもないような?
そういえばスライムイベントの時はシャードレアを求める外人さんが多かった、という話から海外シャードのハウジングの話になり、あんじの家が Housing@UO のコンテストにノミネートされそうだ、という話からあんじ家、そしておススメのライハ家へ案内することに。
ちなみに、海外シャードはすごい凝った建築やベンダーアートが多く、カッコいいものが多いが、スタックオブジェクトは少ないらしい。

ライハが IN していたので家に遊びに行くよー、という話をして、ゲートが使えるテイマーキャラに変更。
あんじ家ではきのこの飾り方や、開く戸棚(赤いバシネット入り)に感心される。
ライハ家にいくと、キリエと赤なすびがお出迎え。

ライハ家は内装途中だったらしい、ちょっと残念。
ここでもレコードやら観葉植物に感心される。

屋上の酒場スペースでマッタリしつつ、エルフ製の炉がなにか内装に使えるのでは?という話からエルフ製の炉の各色を作るために自宅へ移動。
炉を作るためにキャラ変えよとしたらログインサーバが落ちていた...。
暇つぶしにあんじのメッセンジャーにいたずら書きをしたりして過ごす。
30分くらいたったか、復旧して入るとまだみんな待っていてくれた。しかも Naomi Sounds さんも来られていた。
早速炉を各色作ってみた。みんな、N色が一番きれい、という感想。
俺はオレンジ色もいいんじゃないかと思う。

その後はだらだたとバカ話など。
Naomi Sounds さんに GM製の毒箱を開けてもらうと、毒を食らった表示が「Naomi Sounds が!!!!!」という、明らかにローカライズ失敗のようでいて気持ちはとても伝わる表示になっていたり。

日曜に Doom へ大挙という話も持ち上がっている。
当然参加!という意向ではあるものの、日曜はあまり夜更かしできない予定があった気がする...。


早起きしてしまったので、せっかくだから買い物にでも行こうと思う。暇つぶしを兼ねて無駄に長い文書を 2連続で書いてみた。