Blogを引っ越しました [雑感]
引っ越した後も、メールアドレスやブログを変えたくなかったので、一番安い契約に切り替えて利用していました。でも、家計の費用の見直しの結果、So-netの契約を終了する事にしました。
So-netのスキンのデザインとかが気に入っていたので、コンテンツ会員に移ろうかと思ったけど、コンピュータ関連の技術情報は「はてな」の方が多いので(So-netの場合は、パソコン・インターネットのカテゴリはSony製品の紹介がほとんど)、はてなに移る事にしました。
引越し先は、こちらです。(引越しの挨拶)
正規表現の限界を広げる [コンピュータ]
kazuさんが正規表現を超えるって書いているけど、正規表現に限界があるのは周知の事実じゃないのかな。
結局のところ、程度の問題なんじゃないかな。正規表現でどこまで複雑な事ができるかってのが問題なだけだ。
IPv4アドレスの解析を例に挙げているけど、調べてみると、以下のように書ける。
m{ ^ ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) \. ( \d | [01]?\d\d | 2[0-4]\d | 25[0-5] ) $ }x
この程度なら、再利用云々を気にしないでも良いと思し、こんな事のために、いくつも関数を定義したくない。
「じゃあ、IPv6は?」ってなると、うーん... 例え書けたとしても、読めたものではないと思う。上記の正規表現もPerlの拡張正規表現を使っているから読む気になるだけで、POSIXの正規表現で書かれていたら読みたくない。
では、どうであれば良いのかと言うと、\d+の部分に、プログラマーが定義した、真偽を返す関数を書ければ良いのではないだろうか。例えば、こんな感じで書けるといいな。
/^\digitByte\.\digitByte\.\digitByte\.\digitByte$/
ここでは、digitByteは、プログラマーが定義した、文字列を受け取って0〜255の範囲の数かどうかを判定する関数としています。こういうのは、もはや正規表現とは言えず、新たな記法になるかもしれないけど。
こんな事ができる言語処理系があればいいな。Rubyか、Gaucheでやってくれないかな。
そういや、kazuさんって、正規表現が嫌いなんだった。
JavaFXの解説を読んでいる [コンピュータ]
JavaFXの仕様が気になるので、JavaFXの解説を読んでいる。
まだ、途中までしか読んでいないが、結構関数型言語に近い印象を受ける。手続き型の系統の言語が、関数型の言語の長所を取り入れようとすると、変な記号だらけの言語仕様になってしまう事が多いのだが、その問題は上手くクリアしてそう。
うーん。使ってみたくなるなあ。
トヨタファイナンスが国際協力銀行に緊急外貨貸付の融資を要請した [雑感]
トヨタファイナンスが国際協力銀行に緊急外貨貸付の融資を要請した。
報道各社のサイトはこちら、
なんか、小さな扱いだなあ。これこそ、アメリカの自動車関係のバブルの象徴なんだが。事の重大さが分かっていているのかなあ。トヨタの期間工の雇止めの開始時もこんな感じだったが、意図的なのかな。
アメリカでは、自動車会社各社がローンの金融子会社を持っていて、自動車を購入する人は、そこからゼロに近い金利で借りる事が出来るようになっている。このローンの審査も、住宅と同じでずさんな審査なんだと思う。トヨタは、結構審査がまともなので、ある種のステータスになっているとの報道の記事を読んだ記憶があるのだが。それでもダメだったか。