トップ «前の日記(2004-09-18) 最新 次の日記(2004-09-20)» 編集

日々の破片

著作一覧

2004-09-19

_ トゥーブラザーズ

ってto brothers(兄弟たちよ立ち上がれ)みたいな感じがするんだけど、なんでこういう題を付けるかな?

って言うのはどうでも良くて、ジャンジャックアノー(これが初見)か、よくまあこんな大時代な作家が生き残っていたものだとびっくりした。まるでセシルBデミルとかみたいだ。あるいはリチャードフライシャーのコナンとか思い出したり。典型的な2流の大監督だな。

出だしは、くっきりはっきりメリハリがあって、いんちきな異国情緒満載のクメール文化風の遺跡(これが森の中に突き出してるシーンが何度も出て来るんだが、その嘘くささはある意味良い映画なのだが)。言葉による余分な説明は排して、なんちゃらピアスがどうしてアフリカを捨ててアジアに行くのか簡潔に示した後は、虎と人間が交互に出てくる。交尾のシーンとかなんとも不思議な感じだ。大監督ではある。

で、脚本がこれまた大時代で、典型的な村長と開明的な娘、自分の行動に悩むなんちゃらピアス、悪徳でも悪党でもないがせせこましい領事、その妻、イヤな犬(わんわん物語りのシャム猫の役回り)とか。偉大なる父(でも買弁なんだろう?)の印象に押しつぶされかけながら威厳を保とうとしてうまく果たせない太守(ジョンイルでつか)をコケにしたり悩みを描いたり。耳の穴とかいろいろネタは仕込んであるんだけど(脱走した後、サーカスの檻に戻るとこもそうだし、ファイアーウォールを越えるところもそうだな)、だからといって映画がおもしろくなるわけでもないし。テーブルの下で虎の子が靴にじゃれついて領事の妻が勘違いするとか、いつの時代の映画なのだろうか。しかし二流の悲しさ、位置関係が明確ではないし動きがきちんと追えてないから今ひとつおもしろくない。

でも、そんなことは吹っ飛ぶくらい、兄弟が再開して格闘を開始してからお互いを認識してじゃれ合うにいたるところのシーンは美しい。猫科のケモノって、どうしてああも美しいんだろうか。あの部分には感動した。動物園じゃ寝っころがってるとこしかほとんど見えないからまさに映画ならではのシーンでもある。

あと、老いたサーカスの虎が子虎が弱っているのを見て、それまでの無関心ぶりをあらためて尻尾で遊んでやるシーンとか。ネコですな。ねこじゃらしで遊んでやると手を出してくるのと同じだ(というように見ているこっちが子虎に感情移入をしやすくするためのシーンなんだろうが)、それと同時に老いた虎を皮にすることの伏線だったり、つまるところ脚本自体も大時代なのだが。

アナグマが子虎を威嚇して追い払うシーンとかあるけど、偉大なる王で親が子にアナグマを使って狩を教える条りとかを思い出した。アナグマは強いのだ。そういったものを出してくるのはすべてきちんとあるべき物語を踏まえているからなのだろうが、そういった点まで含めて、古臭さがぷんぷんしてくる。

それにしても、ああいう映画が撮れるということは、虎って本当に訓致しやすい動物なんだろう。猛獣だから怖いけど。

で、あれだけ大騒ぎして死んだのは父虎、犬、サーカスの老虎だけっていうところがよくも悪くもこの映画の特徴を表している。

#本編上映前の広告が動物看護士専門学校の広告というところがうけたんですが。普通の映画じゃあんなニッチな広告は流さないだろうな。

_ rjb

動的にrb_define_classして例外を自動移入するようにした。

しかし、問題がある。
int = Rjb::import('java.lnag.Integer')
begin
  n = int.parseInt("foobar")
  puts n # never here
rescue NumberFormatException => e
  puts 'だめに決まってるだろ'
end

は期待通りに動作する。この場合、NumberFormatExceptionを移入する必要はないしそもそもRjb::importで移入したJavaクラスはRubyのT_DATAでクラスではないのだが、NumberFormatExceptionは仕様に従いStandardErrorを継承したRubyのクラスとなる(し、rescueするためにはそうでなければならない)。

問題1:テスト
assert_raise(NumberFormatException) {
  int = Rjb::import('java.lnag.Integer')
  n = int.parseInt("foobar")
}
とは記述できない。

この場合、NumberFormatExceptionが実行時にまず評価されるため、parseInt呼び出しの結果はじめて定義する動作と合わない。

これについては制限とする。

問題2:名前

案1)Rjb::Java_lang_NumberFormatException => いやかも

案2)NumberFormatException => 当面これでいくけど、衝突する可能性はある

案3)Rjb::NumberFormatException => あまり意義を感じない

問題3:rb_define_classを動的によぶのであれば

Rjb::importの結果もクラスにしてしまうというのはどうだ? (これは内部構造がちょいと複雑なのでやらないつもりではある)

問題4:GCで死ぬので、まだ調査中。 (追記:インスタンスフィールドの呼び出しに誤ってクラスインスタンスを与えていたのを修正したら直ったよ。因果関係が謎めき系なんだが……。 というわけで、0.1.2をリリース)

_ プログラミング言語C

rjbのために久々にいじってるわけだが、ポインタポインタとかも出てきたりするわけだが、正直なところ面倒くさいな今となっては。

なお、rjbを殺すにはパッケージ名を含めたFQDNじゃないだろうな、FQCNかなが255文字を越えたクラスを引数に取るメソッドか、フィールドを定義してimportすればOK。さすがに、malloc/freeをこのレベルではやりたくはない。しかし、Javaだと何も考えずにStringBufferのインスタンスをメソッドに送り込んでappendさせたりしているわけで、実行効率という面では恐ろしいくらいのろまなことをやっているのだな、としみじみと感じる秋の夜。

気付けば富豪か。で、ときどき貧乏生活をしてみて、遠くへ来たもんだと振り返るということだ。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|

ジェズイットを見習え