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

日々の破片

Subscribe with livedoor Reader
著作一覧

2008-04-19

_ ドレイクの方程式

Wikipedia

本当にあるのか。

というか、今度から、自分の誕生年のことは、「ドレイクの方程式が考案された年」と呼ぶことにしよう(覚えていたら)。

_ 夏の涯ての島

先日、本屋をうろついていたら、妙に平積みになっていて、なんとなく買ってしまって、読んでしまった。

夏の涯ての島 (プラチナ・ファンタジイ)(イアン R.マクラウド)

表題作は、あまりに長くて途中でうんざりしたし、帯で絶賛しているほどは感心もしなかったが、それを除けば、なんだかいやな気分になり、それはある種の作品の読後感としては付き物の感覚であり、なぜいやな気分になるのか考えることも、また読書の楽しみのうちなのかも知れないと思ったりする。

『帰還』――子供がタイムマシンのパラドックスの話を仕掛けてきて、それに対して、2つの考え方(文学としては実装方法)があって、1つはパラレルワールドを利用して別の世界に飛び込むことになり、もう1つはあくまでも世界は1つなので何か悲しいことになる、というような話をした次の日にこんな作品を読む不思議。

イギリスの作家か。

もしかしたら、OMDの銀河を歩く歌のプロモーションビデオはこれにインスパイアされたのかなぁとか。

ツボだよ。

(見直したら全然違う。映像としてはアストロノートだけが印象に残っていたのが、そう感じた理由のようだ)

『わが家のサッカーボール』

物置小屋かぁ。キノコを育てていたり、犬を拾って育ててるのかと親は思っているが実は自分自身を育てていたり、だいたい物置小屋には変なものがいるものだから、サッカーボールがあってもおかしくはないなぁとか思いながら、突然の父親の行動にうれしくなったりもする。その展開を鑑みると、この作家は巧妙で感心する。これは良い話だ。最初の作品が永遠に喪失を繰り返すなんとも乾いた孤独の世界なのに対して、なるほどなぁとすべての部品をうまく結び付けた作品としてのうまさ、もあるけれど、やはり転機となる箇所の突発性が実に共感できるのが大きい。

と、読み始めて、続けて読みたくなるので先へ進む。

『チョップガール』

そしてこういう話が来るのか。両極端の孤独の出会いの物語かぁ。大きな穴の上でのダンス。これもなんともいえない読後感ではあるが、

『ドレイクの方程式に新しい光を』

あ、これはだめだ。このパターンは最悪だ。感情の一番いやな部分が刺激されるタイプの物語だ。

素晴らしい作品で、これは最高に気に入ったが、2度と読まないだろう。

それにしても、不思議なものだ。なぜ、文字を拾っていくことで、感情が刺激されるのだろうか? 化学物質(向精神薬とか)が脳に作用するということは理解できるのだが、あるいは音や光の刺激が作用するのはそういうふうにできているのだからこれも理解できるのだが、なぜ文字が作用するのだろうか。

2種類の後悔しない生き方を選択した2人の人間が出会い、別れて、また出会い、そこになにがしかの感情が生まれて、消える。後悔しないということが、どれほど綱渡りのように頼りない生き方なのか、ということについての物語だ。

気を取り直して、『夏の涯ての島』を読み始めて、途中、何度も終わらせても良い場所があっても終わらずに進み、1984年を通り越してまだ終わらず、結局、終わらないまま旅に出て、こちらは後悔しっぱなしなだけに、泣きごとのうるささにうんざりしたが、それでも佳作なのだろうとは思う。

というような作家の作品集だった。

_ STDOUTか$stdoutか

一般的な解はきっと$stdoutなのだろうと思う。
require 'foo'
File.open('foo.log', 'w') do |f|
  $stdout = f
  x = Foo.new
  x.bar
end
$stdout = STDOUT
ということだろう。
でも、すると、
$ruby foobar.rb >foobar.log
の立場はどうなるよ?

3つの立場がある。

  • シェルからコマンド叩く人
  • (上の例だとfoo)ライブラリを使う人
  • (上の例だとfoo)ライブラリを作る人

これが一致している場合なら話は簡単だ。

$stdoutを使うな。

上の3つの立場で実行頻度が高いのは最初の行為だ。であれば、シェルから使うことを意識すべきだ。したがって途中で内容が変わる可能性がある$stdoutを使う必要はない。シフトキーはどっちにしても押すわけだから字数が少ないSTDOUTのほうが得というよりも、途中で変わることを考える必要がない。

そうではなく、それぞれ別々とした場合のことを考えてみる。つまり、ライブラリを使う人=トップレベルアプリケーションとライブラリを作る人。

ライブラリを作る場合は、環境は言いなりになるべきで、主張すべきではない。ということは、$stdoutを使う必要があるということだ。

ではトップレベルで動作することがわかっていれば、これはSTDOUTを使うべきだ。と思っていたけど、なんかどっちでも良さそうな気がしてきたな、というか、どっちでも同じことだ。だって、トップレベルなんだもん。ってことは、字面と字数で決めよう。つまり、やっぱりSTDOUTだな。

おしまい。

というよりも、$stdoutを変えても良いのはtest/unitとその仲間くらいだろうな、STDOUTを使う使わないより前に、$stdoutを変えては(基本的には)だめ、としたほうが良い。あと、STDOUTが壊れていることがわかっているトップレベルアプリケーション(たとえば、WScriptやHTAがトップレベルの場合)とか。

_ 4月の魚

ふと思ったが、なぜボリスヴィアンは、フォルダヴリルなんて名前を持って来たのだろう?

#フォルダヴリルの印象が強いせいで、魚と呼ぶとはまったく知らずに、他と同じくフォルなんだろうと思ってた。


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|

ジェズイットを見習え