某日記

(後期)

平成19年5月25日(金曜日)

査収物

しおんの王(5) / 安藤 慈朗, かとり まさる

FATALIZER / 小林 立

咲-Saki(2) / 小林 立 - タコスさんエロスの巻。飯田線七久保駅。

まるごと杏樹学園(3) / 天津 冴 - 完結。

ジパング(29) / かわぐち かいじ

豪放ライラック(6) / 桑田 乃梨子 - 完結。

たかまれ!タカマル(12) / 近藤 るるる

とりぱん(3) / とりの なん子

平成19年5月28日(月曜日)

週末

久しぶりに釣りがしたくなったので MoE アカウントを取り直した。結果的に週末で釣りスキル 71 くらいになった。

昔は海ヘビの失敗上げで地道に上げるか、地下水路でタゲから逃げ回ってエイ釣って上げるしかなかったような気がするんだが、今は 40 くらいまではタイタンの生簀で簡単に上がるし(これは序盤には良い銭稼ぎにもなる)、そこから先はジェイドの鮫で簡単に上がる。

今日

半角カナ - SJIS はそのままにしといて EUC-JP の方だけを修正すれば、特に困ることはないでしょう。

将来的に困るとすれば EUC-JP と SJIS の ctype 定義を一つにまとめたい場合ですが、これは単に charmap 導入してキャラクタ名で抽象化しろという話だと思います。

TODIGIT 不用論 - そういえばそうね。消しちゃっていいのかな。少なくとも NetBSD では参照しているように見えない。

いつも気になっているのだが、 xx_XX.XXX@ucs な locale への需要ってどの程度あるんだろう。つまり wchar_t の内部表現を UCS と仮定しているようなケースがそれなりに存在するようなら、実用上の観点からそういう locale を用意せんといかんかなあ、という話。もちろんそんなものは邪悪なんだけど。

本屋でミミカさんのコミックスが売られているのを見たのだが、キャラデザの春日センセイ直々のマンガ化の模様。それはいいのだが、これを見て春日センセイの他の著書に興味を持つ児童が出てきやしないかと思うと気が気ではない。おのなんとか先生みたいに名前を変えるとかみかん箱をかぶるとかした方がいいんじゃないかと思う老婆心。

cpp マニアックス:


この最後の 6 行が cpp でどう展開されるかを正確に答えられる人は、なかなかの cpp マニア。 

答え:

cat(a,b)            → fuga
wrapped_cat(a,b)    → foobar
tri1                → monyo
tri2                → fugahoge
tri3(a,b,c)         → abhoge
tri4(a,b,c)         → fugahoge

まず最初の 2 つ。

cat(a,b) は a##b → ab → fuga と展開される。対して wrapped_cat(a,b) は cat(foo,bar) → foo##bar → foobar と展開される。

これは関数マクロの引数展開のルールにおける ## に関する例外事項と関係している。基本的に関数マクロの引数はありのまま渡される。 cat(a,b) も wrapped_cat(a,b) も、引数は a と b という形で渡される。

次に、例外を除いて関数マクロの引数というのは真っ先にマクロ展開が行われることになっている。このルールに従えば a は foo に、 b は bar に展開されてから、実際に仮引数 x と y を置き換えることになる。 wrapped_cat(a,b) はこれが適用されて cat(foo,bar) に展開される。

ところが例外が一つだけあって、仮引数が ## と関係している場合には展開前の形で置き換えられることになっている。 cat は仮引数 x, y が ## に関係しているから、 a と b は展開されずにそのまま置き換えられている。

あとは再帰的に処理されるだけ。

残りの 4 つは、## が常に真っ先に処理されることを意識すれば良い。先ほど引数はありのまま渡されると書いたが、その前に ## だけは処理される。

tri1 ではまず ## が真っ先に処理されるので cat(ab,c) になる。あとは先に述べたのと同様に ab##c → abc → monyo となる。

tri2 も同様に wrapped_cat(ab,c) となるが、wrapped_cat の仮引数は ## と関係していないので cat(fuga,hoge) となり結果として fugahoge になる。

tri3 は x と y が ## に関係しているが z は関係してないので z に対応する実引数 c は真っ先にマクロ展開されるが a と b はされずに cat(ab,hoge) となる。これは結果として abhoge になる。

tri4 の行も同様に wrapped_cat(ab,hoge) となるが、これはさらに cat(fuga,hoge) になるので結果として fugahoge になる。

平成19年5月29日(火曜日)

昨日

体育の日近辺に体育祭をやり、文化の日付近に文化祭をやるもんだと思っていたのだが、あの学校は違うらしい。

宝箱釣った。三箱め。

今日

にゃるほど

話題の oniguruma を見てみた。昔よりもクリーンになってるような気がする。エンジンとエンコード回りの分離が昔よりしっかりしていて良い。とはいえ、 regex は難しいのでやっぱりヨクワカラン。

エンコーディング周りをもっと完全に分離すると、それはそれで便利なものになりそうな気がする(←Citrus の存在価値を自ら否定するやうな発言)。

Citrus をスタンドアロンかつマルチプラットフォームで使えるようにするとうれしい人っているのかしらん。

京都で歩きたばこ禁止条例可決 - 経験上、条例作っても魂が入ってないと無意味だと思う。

私にゆかりのある自治体だと、川崎市は取締りをやってるところをみたことがないし、文京区は罰則すらない。これじゃあダメ。だってさあ、これだけ禁煙禁煙言ってるんだから、マナーがなっている喫煙者はとっくの昔に路上喫煙してないって。残ってるのはマナーがなってない喫煙者だけなんだから、そういう連中は罰則も何もないなら平気の平左で吸うに決まっている。

個人的には、今みたいに路上喫煙で即過料という方法ではなくて、制止されてもなお喫煙を続けた場合に数万円くらいの過料を課す方式にしたほうがいいと思う。仏の顔も三度まで方式。いずれにしても、ちゃんと巡回する人間を出して取締まることの方が重要。

というわけで、京都さんは頑張って良い運用を考えてください。まあ俺は滅多に京都行かないからどうでもいいんだけど。

平成19年5月30日(水曜日)

昨日の査収物

惑星のさみだれ(3) / 水上 悟志

聖乙女学園血風録(1) / 小野寺 浩二

魔法少女リリカルなのは StrikerS The Comics (1) / 長谷川 光司

田中圭一マガジンComicサイテー / 田中 圭一

ひとひらの恋が降る(1) / やぶうち 優

昨日

釣りのキャップを 80 に上げて、実スキルを 78 くらいまで上げた。

せっかくなのでタイタンの戦闘エリアで遊んでみた。釣り放題の待機エリアといい、デスペナなし戦闘スキル上げ放題の戦闘エリアといい、これはゲームバランス壊してるような気もする。まあ弱いキャラだとすぐ死んであまり面白くないからスキル上げと割り切る必要があるけど。

とかやっていたらビギナーズアイテム貰えなくなったので露店で食糧調達する身分に。

今日

今日の tips : Emacs が内部表現と思しきテキストファイルを吐いてしまったときは C-x RET c emacs-mule C-x C-f で読み込むと良い。

これは厳密性には欠けるけれども tips なので勘弁。シングルバイト系エンコーディングでは事情が異なる。詳しくは Emacs の info の International のところに書いてある。