Headline About TechLog Download Java VBA Link

February 19, 2008.

インターナショナルな話


朝のニュースで、テニスの錦織圭選手がデルレイビーチ国際選手権にて優勝との報。若干18才にして松岡修三に続く2人目の日本人覇者となった。凄いけど、外国人審判員、「ニシコリ〜」って、「ニシキオリ」ですから!と、テレビの前で突っ込みを入れていたら、ホントにローマ字表記はニシコリなのね...。そんな読み方があるのかぁ...。海外で読みやすいようにという配慮かもしれませんけど。ともあれ、秀才型が多かった日本人選手の中から、最近は天才型も増えてますね。豊かさの象徴でしょうか。

しかしアナウンサー、「ハニカミ王子につづく王子の誕生かもしれませんね」という煽りは辞めなさい。また食い物にする気満々ですね。しかもその後の女子アナの発言、「漫画だとテニス王子がいますね」...って、それは「テニスの王子様」ですから!

 

昼休みにJ.D.SalingerのThe catcher in the rye.を読了。実はこんな有名な作品が今まで未読でした。

サリンジャーの「ライ麦畑で捕まえて」と言えば、青春小説の代表格。ただ、なんとなく村上龍的世界のイメージがあり、これまで敬遠していたのです。といっても村上龍を評価していないわけでは無くて、越えられない天井を自分で作り、鬱屈した青春時代を送った自分にとって、奔放な若さを描く村上龍作品は共感しがたいものがあるのです。今回は英語の勉強を兼ねての初挑戦だったのですが、非常に良かったです。

久し振りにmixiに書評を書こうかなぁ。もっとも、mixiに書いても読める人が限られるので、逆に書評系を全部こっちのサイトに移そうかと思わなくも無いですね。ただ、どんどん情報系サイトから離れちゃうのが困り者。書評サイトだけ別途に起こそうかなぁ。

そうそう、このThe catcher in the ryeのタイトルの訳には有名な「ライ麦畑でつかまえて」以外にも、「危険な年齢」「ライ麦畑の捕手」「キャッチャー・イン・ザ・ライ」などがあります。「ライ麦畑でつかまえて」は、詩的で圧倒的に美しいけど、作品の内容を的確に表現しているかというと違う気がする。なんか、恋愛小説を想像しちゃうのです。「ほらつかまえて御覧なさい」「キャッ」みたいな(汗)。「捕手」の方が誤謬が無いけど、美しくはない。「危険な年齢」はナイフやドラッグのイメージで好みじゃない。(未読の人には意味が分からないかもしれませんが)動詞に「er」をつけて「〜する者」という名詞を作ることができる、英語だから成り立つタイトルじゃないかな、と思うのです。その点で安直だと批判されている村上春樹案「キャッチャー・イン・ザ・ライ」は支持できると思うのですが、いかがでしょうか?

 

帰りに同じくJ.D.SalingerのNine storiesを購入。ちら見したが、こちらの方がやや英語は難解。辞書を引かないと細部が理解できないかも。帰宅後はデスクトップPCのデータ整理。20GB程空けたが、デフラグしても効果なし。もっと開けないと駄目か。あと50GBは開けよう。いろんな環境を整えて気持ちよく開発等ができるようにしたい。入浴後に30分ほど英語。通読の終わった"Rye"と対決です。辞書のプログラムも触るつもりだったのに力尽きる。いかんな。予定を随分押してしまった。早い目に公開を目指しますゆえご勘弁を(誰も待ってないけど)。

 

 

【場合によって使い分ける話】

case文の書き方は言語によりちょっとずつ異なる。例えば、Javaでキー操作に対するcase文を書くとこんな感じだ。

swicth(key) {

  case UP:

    // 上が押された時の処理

    break;

  case DOWN:

    // 下が押されたときの処理

    break;

  case NUM_0:

  case NUM_1:

  case NUM_2:

    // NUM_0〜2に共通の処理:

    break;

  default:

    // 何もしない

}

同じものをVBで書くとこうなる

Select Case key

  Case UP

    // 上が押された時の処理

  Case DOWN

    // 下が押されたときの処理

  Case NUM_0 To NUM_2

    // NUM_0〜2に共通の処理

  Case Else

    // 何もしない

End Select

Javaでは数値しか扱えないのに対し、VBでは文字列も扱える上に「n以上」や、「nからmまで」のような指定もできる。しかしもっと重要な違いはbreakの存在である。VBではbreakを記述せずとも、合致するCase内の処理を行なうとSelect節を抜ける。一方、Javaではbreakを書かないと、条件にあった箇所から後の処理をずっと連続で実行してしまう。

したがってVBに慣れた人がbreakを一つも書かないと、上記のコードで例えば上を押した場合には、DOWNやNUM_0やdefaultも含め、全部の処理が行なわれることになる。一方Javaに慣れた人がNUM_0〜NUM_2までで共通の処理を行なおうと、VB上でCaseを並べて書いても、NUM_0の処理が無いと判断され、なにも処理が行なわれない。


名前: 意見: パス:

※パスにはこの日記のタイトルをコピペして下さい。


February, 2008
SUN MON TUS WED TUR FRI SAT
12
3456789
10111213141516
17181920212223
242526272829