トップ 最新 追記

日々の破片

Subscribe with livedoor Reader
著作一覧

2012-08-01

_ 能楽堂 1.3.2

以下を修正しました。

1.3.1のパッケージングをミスっていて、gemコマンドがまともに動きませんでした(rbの抜け、証明書のコピー漏れなど……nagachikaさん、ありがとうございます)。

演能の修正(Content-Dispositionをレスポンスに設定する、大きなサイズのリクエストの処理など)。

その他、json-1.7.4やsqlite3-1.3.6などの拡張ライブラリ付きgemの更新等をしています。

能楽堂のページからダウンロードしてください。

本日のツッコミ(全3件) [ツッコミを入れる]

_ kou [能楽堂にバンドルして欲しいライブラリがあるのですが、どうやってお願いするのが適切でしょうか?(ここにパッチを送ってく..]

_ arton [そっかー、演能と違って場がないですね。ちょっと考えてみますが、とりあえずは、githubのennouのissueにお..]

_ arton [テスト。能楽堂にバンドルして欲しいライブラリがあるのですが、どうやってお願いするのが適切でしょうか?(ここにパッチを..]


2012-08-04

_ 246トラップ

用賀から青山へ向かう時、トラップがたくさんある。

最初のトラップは2重左折。

環八から246へ左折するとき同じ信号で2つの左折路があり、ふと手前で曲がると桜新町のよくわからないところへ行くことになる。やばい。

次が、駒澤大学~環七までたくさんある右折トラップ。

246のような3車線で、しかも高速の橋梁がある道路なら、当然右折用の車線が別に引き出されると考えて、一番右側を進むと、信号直前になって目の前の車が右ウィンカーの点滅と急停車をやってくれる。

では真ん中を行けば良いかというと、上の状況でぱにくった右車線の直進車が急ハンドルで真ん中の車線にはみ出してくる。きわめてやばい。

さらに同じトラップが三軒茶屋の立体交差の直前にもあるのだが、ここで右折するやつはほとんどいないのであまり問題ない、と右の車線を通ってそのまま立体交差の右車線を進むとかってないトラップが待ち構えている。首都高トラップだ。気付くと後戻りできない状況で首都高に入り込んでしまう。

というわけで真ん中の車線なら安全かというと全く違って、何しろ逃げようがない首都高トラップに仰天した右車線の車がいきなり急ハンドルで真ん中の車線に入り込む(はみだすという、上の右折トラップと違って、完全に入り込む。やばすぎ。

さらにいろいろあるのだが、とりあえず思い出したトラップは上のやつらだ。

_ 後悔した飲み物

地下鉄の動画広告でコーヒー+炭酸というのをやっていて、地下鉄乗っている間は閑なので考えてみる。

水出しコーヒーの水をペリエみたいな炭酸水でやってみたらどうだろう? 酸味が強くなるけど、もしかしたらおいしいんじゃないか? という結論となった。

で、試しに買った。コップに注ぐと、コーラというよりは濃さが粗いので黒ビールみたいだ。なるほど、大人の飲み物ですな。

で、一口飲んだ瞬間に、あー、これを作ったのはサントリーで、そしてサントリーは1980年代から何も変わっていないのだな、と思い知らされた。

サントリー エスプレッソーダ 330ml×24本

大人がどうしたと語るのは、子供だましと相場が決まっているのに、だまされるこちらが悪いのだ。

_ これはおいしかった飲み物

所要があって、三島のほうへ行く。で、地元の鰻屋へ行こうということになり、ぞろぞろと集まった連中で鰻屋へ行く。と、テーブルの上のPOPに目がいった。

しずおかコーラ。

日本食に合う!

お茶入り。

なんじゃこりゃと思う。思うが、エスプレッソーダと異なり大人とは一言も書いていないが、日本食に合うは何が何でも嘘だろうとすぐにわかるいさぎよさ。

というわけで、思わず注文したら、居並ぶ全員みな注文することになった。しかし、わざわざ(まともな鰻がインフレしまくっている)この時期に本場の鰻(養殖の本場は浜松だが三島は調理の本場らしい)を食う前に妙なものを飲んでぶち壊しにならないだろうなぁというスリルとサスペンスはある。たとえばエスプレッソーダを飲んだら、どれだけうがいをしても2時間はまともに料理を味わえないのは間違いない。

で、コップに注ぐと、緑だよ。お茶+炭酸という雰囲気だが、名前はコーラだしなぁと飲むと、おや、これは確かにコーラだ。コカコーラの味とは違う(炭酸はきつくなくて、ラムネとか三矢サイダーとか、日本の昔ながらの炭酸飲料系の雰囲気)が、でも、確かにコーラ以外の何物でもない。でもお茶の香りが感じなくもなくもなくもなくもない。

というわけで和食には合わないだろうが、甘い飲み物としてはあっさり気味で爽やかで、この後に鰻を食っても後悔はしなかった(が、普通のお茶を飲んで口を洗ったけどな)。

というわけで、こちらはおいしかった。

木村飲料 静岡コーラ 240ml×20本

アマゾンで売ってるとは知らなんだ。


2012-08-08

_ コボーとコジョカルのラ・バヤデール

上野でバヤデール。

コボーが登場するやいなや、やたらと姿勢が良くて、おーかっこいいと思う。

一方、コジョカルは実にばたくさい顔と小柄さがタイとインドネシアとインドが悟た混ぜになったわけのわからない空間とまったく折り合いが悪く、極端に子供のように見えて違和感がありまくる(服が似合わな過ぎるのか、それとも逆に似合いすぎているのか、どちらだろうか)。ありまくるが、だからといってつまらないわけでもまずいわけでもないのだが。

なぜか、へそがまったく見えなくて、どういう腹筋なのか、それともボディカラーのぴったりしたスーツを着ているんだろうか、というのがちょっと気になったけど、それもだからどうということでもない。

とはいうものの、さすがに2幕の影の王国では(東京バレエ団のコールドバレエのうまさもあって)チュチュのせいもあるかも知れないが実に見事なものだったけど。というか、コボーとコジョカルというのは実に良いコンビだな(コボーも相当小柄みたいだな)。

と、ひさびさにバレエを観たが、実に楽しめた。

忘れてはならないのが、シムキンの黄金像で、黄金像の踊りってこんなにおもしろかったのかとびっくりするほどおもしろかった。フレーズの切れ目で止まる直前に腕をささっと2回動かすのだが、すさまじく素早くて見とれる。とにかく素早く動くので見ていてまったく飽きる余裕もなく、実におもしろい。それに加えて、てかりがただごとではなく、どうすればここまで金色にてかれるのかというくらいのすさまじいてからせぶりだったのも、実に印象的だ。

というわけで、3人目のおじさん(1人目はコボーで、2人目はコジョカルなわけだから)は素早いし、素早いおじさんは金色の像になった。

(って、なんだっけな?)

_ 過門香の北京ダック

薄い揚げた雲呑の皮(だと思う)の上に皮を置くことで、さくさくした歯触りを演出していて、おもしろい。半身を注文したら、肉の部分を辛い冷造りとして別に出してくれて、相当に満足度が高い。


2012-08-11

_ バレエフェスティバルBプロ

東京文化会館。

最初はセミオノワとフェーゲル。セミオノワがきれいだなぁという印象。

パルジファル。シルエットで向い合う男女が手を差し出しておそるおそる触れて離してを繰り返す。ベジャールってずるいなと感じる。たいていのバレエは音楽は3流(チャイコフスキーを除くが、それでも交響曲のように密度が高いわけではない)で踊りを補完するのだが、圧倒的な傑作を音に使うので元々密度が高く、踊りがなくても成立するわけだから、そこに踊りをつければ相乗する理屈だ。いずれにしても、これは良い作品。

で、つまらない音楽に変わり、マスネのタイス。女性がえらくうまいなぁとカーテンコールで子供からオペラグラスを借りて顔を見たらパンダみたいで、なるほど上野水香かと知る(なんであんなメークするんだろう? と子供に訊くと、目の動きを強調させるためには仕方ないんじゃないか(アジア人の顔は遠目には目の動きを出しにくい)と教わり、それなりに納得する)。

で、ラドメーカーのエフィ。こういう肉体の動きを見せる踊りはおもしろいような退屈なような不思議な表現芸術だな。

で、ライモンダがきて、ロホが相変わらずきれいに踊るのだが、それ以上にマックレーの脛の細さに見とれる。

休憩15分。

コジョカルとコボーでバルコニー。うーん、バヤデールはやはり衣装が妙だったのかなぁ。

ウィズアウトワーズ。何十年ぶりかでシューベルトの野バラを聴き、はてと思う。肉色の衣装なので全裸感を示した不思議な作品。好きかも知れない。踊ったのはサラファーノフとノヴィコワ(初見)。

でルテステュとビュリョンの椿姫。どのパートか良くわからないが(ベルディではないので、一部を切り取られてもわからない)、意外と退屈した。物語に負うところが多い舞台なのかも知れない。

パリ・オペラ座バレエ 「椿姫」 [DVD]

(が、全幕通して観るとこれは素晴らしいバレエで、このDVDはマスターピースだと思う。まだビュリョンはエトワールになっていない頃で、キャスティングの都合での抜擢らしいが、いかにも主役の小僧っぽくてそこも良い)

で、ガニオのラシルフィード。うまいのだが、曲のつまらなさが天下一品(だが、部分抽出なので退屈するより踊りのおもしろさで満足度は高い)。

休憩してマーラーのアダージェット。録音なのか。いまひとつぴんと来なかった。ベジャールじゃないんだな。

シェエラザード。ゼレンスキー(去年だかバヤデールに代役で来たのがすばらしく印象的)とセミョノワ(2度目の出演)。曲は良いのだが、いささか長い。

デュポンが出てくるとなんとも不思議な印象を受ける。なんか特別だ。一挙一動が美しい。

ワシリエフとオシポワという全然知らない二人の海賊。が、体を動かしまくるので観ていておもしろいのなんのって。売込中なのかな。

で休憩。疲れてきた。

モーツァルト。なんかうまい二人組で誰かと思うとマラーホフとヴィシニョワだった。マラーホフも格別な人なのだな。

第三世界っぽい妙な音楽の踊り、チャイコフスキーと続くのだが、あまり記憶にない。

で、オネーギンでルグリは出てくるとルグリとわかるのは良く観ているからだろう。うまいなぁ。

で、シムキンとサレンコという人でドン・キホーテ。それにしてもシムキンが跳びながら円を描くときとか、跳び上がったところで停止するように見えるのはどういう仕組みなんだろうか。常に動いているはずだから、そういうように見えるように体を動かしているんだろうけど、不思議だなぁ。

と、各部をゆるやかなパドドゥで初めて、モダン(というのか筋肉の動きによる表現芸術)を交えて、跳んで回るので〆るという構成(序破急というわけでもないか)でうまくまとめているので、満足度はえらく高い。(が、全部で4時間(ただし1時間は休憩15分×4)はさすがに疲れた)


2012-08-19

_ サービスデザインパターン

レビューに参加したので、アスキーの黒い本のうちでも最も高度な青い本、サービスデザインパターンをいただいた。

マーティンファウラーのサイン本シリーズを、ぶりきじゃの角征典(児玉サヌール)さんと高木さんが翻訳していて、これまでのマーティンファウラー系の翻訳に頭を悩ませていた人も原書をひも解く必要がゼロという快挙ですなーる。

サービスデザインパターン SOAP/WSDLとRESTful Webサービスの基本的な設計ソリューション(Robert Daigneau/角 征典/高木 正弘)

で、この本はおもしろいです。どのくらいおもしろいかというと、レビューで完全に目を通せたくらいだ。ひさびさに、固い設計系の本を読んで実におもしろかった。

内容は、Webサービスのパターンアンドプラクティスで、とは言ってもマーティンファウラー系なのでターゲットはエンタープライズアーキテクチャで、はてなんでそれが2012年という疑問を2004~5年頃に駆け抜けた人たちは持ってしまうにも関わらず、JavaだけではなくむしろC#を使っていたり、だいたいエンタープライズは何より安定していることが重要だったりするので、枯れた技術でがっちり構築と考えれば、ある意味、今がその時なのかも。

なのかも、なのは、メインがSOAPだからだけど、でも実際にVisual Studioを取り出すと、WCFでRESTスタイルをそれなりに使えるとはいうものの(URIに.svcが入ることに我慢ができれば)、そうはいってもWSDL+自動生成プロクシの安楽さに妥協点を見出さざるを得ないことは非常に良くあるので(思い出してむかついたので後で補足を書く)、せめてパターンを押さえて適切に設計したいものだ。

・REST、RESTと声が聞こえて来たので、いかにセッション指向のインターフェイスをステートレスにやるかを考えて、HATEOASで実現する方法に思い至って設計していたら、RESTというのは、単にAJAX(でも全然非同期を意識していないので、さらにその意味はjQueryでXHRを使う程度の意味だったりして)でSOAPをやるという意味だとわかったとか、いろいろ。

で、面倒だから、本書の特徴をうまく書いているマーティンファウラーのまえがきを引用すると、

Webサービスについてはすでに多くの書籍がさまざまな側面について触れている。そのため、ロバートの草稿が送られてきたときには、おもしろいはずがないと思っていた。私の気が変わったのは、上記の重要な疑問(引用者注: RPCスタイルかメッセージ指向か、RESTをどう考えれば良いか、ロジックの位置をどうするか、などなどの、実際に設計すると絶対に選択が要求されて、しかも一長一短、完全なる実験はできないので、そこは経験、しかし経験がなければどうすれば良いのか、といった諸問題のこと)がうまく1冊にまとめられていたからである。しかも、読む価値のあるスタイルで書かれた技術書になっている。

まったく、その通り。網羅的であり、ケースバイケース主義であり、しかも説得力がある。良書だ。


2012-08-20

_ 無常なじゃんく

子供の誕生日に楽譜を買ってやると表参道に呼び出そうと思ったら、カワイが閉まっている。しょうがないので、渋谷のヤマハへ行ったら自転車屋に変わっている。あ、そうだった。

そこで東急本店のじゅんく堂に行く。

エレベータを降りて、棚の間を歩くと、本当にハッピーな気分だ。

で、突き当りに楽譜コーナーがあるのだが、楽譜はほんの少ししかない。ゼンオンのピアノ譜はそれなりに充実しているが、それだけだ。

ヴェルディは1900年に死んだ。死ぬ前に彼は音楽家の権利のために奔走し、著作権の元ネタのひとつを確立し、そのおかげもあってリコルディという楽譜屋と、その楽譜屋がスポンサーとなってオペラ作曲家のコンクールを開き、プッチーニをはじめヴェリズモの作曲家が大金を手にできるようになった。オペラを死ぬまで書き続け極貧のうちに死ぬものもあった世界(例外的にロッシーニは途中でレストランのオーナーに転身して人生をまっとうした)が変わる。

が、レコードが発明、販売されると、自分で楽譜を買って演奏したり歌ったりするよりも、レコードを買って聴くほうが楽(娯楽は安易に流れるから娯楽だ)なので、楽譜屋の春は終わりを告げた。それから80年、春どころか冬も終わりかけのようだ。まあ、駆逐したレコードあらためCD盤面屋の春が終わったのだから、しょうがない。

で、しょうがないので迷った末、銀座のヤマハはまだ生きていることを知り、ヤマハで楽譜を買う。

それにしても、じゅんく堂のメインストリートを左右の棚を眺めながら歩くことは本当に楽しい。世の中にはまだまだまったく知らないことが山のようにある。まだ見ぬ論理やまだ見ぬ冒険、味わったこともない料理や、観たこともない画家、聴いたこともない作曲家、口ずさんだことのない詩人、歴史、哲学、思想、なんでもだ。それらがほぼすべて日本語で書かれて、印刷されて、そこにある。

こんな不思議で素敵な場所がほかにあるだろうか? いや、もちろんない。どこにもない。

(でも、楽譜はほとんどない)

本日のツッコミ(全8件) [ツッコミを入れる]

Before...

_ tkaot [新潟市のジュンク堂には良く行く(週二回くらい)のですが、あまり「メインストリート」という感じはないかもしれません。建..]

_ unbe [遠い大学生の頃、書店でアルバイトをしていたこともあり、池袋ジュンクに初めて行った時に、店内を見渡せない高い棚、座り読..]

_ igapyon [楽譜情報ありがとうございます。 お教えいただいた店、まわってみます(!)]


2012-08-23

_ courseraの授業を受けてみた

courseraという、Webベースの自習システムが話題になったので、試しに受講してみた。

最初は1月開講の機械学習のコースだったけど、なんか開始が伸びに伸びて実際に開講したのは4月の末からだった。期間は2か月半。

週あたり大体2つの単元というかテーマがあって(たとえば、ロジスティック回帰+正規化とか。ニューラルネットワークはそれだけで1週間)、最初はスーパーバイズド機械学習(予測とか)で、1変数の線形回帰、次は多変数の線形回帰、……と少しずつ複雑さを増して行って、アンスーパーバイズド機械学習(クラスタリングとか)で一応終了。途中、高速化や評価などの講義とか、Octave(GNUのMATLABクローン)のチュートリアル(プログラミングの実習で利用するので)とかが入る。

このコースは、ハウトゥーに重点が置かれた講義なので(と言っていたと思うのだが)時々、証明(なぜ線形回帰で大域最適な点を見つけられるかなど)が説明されるけど、どう計算するか、どういう局面でどの計算方法を使うのか、といった講義に重点が置かれていた。

Ng先生の英語は僕にはそれなりに聴きとりやすくて(何を言っているかわかるので辞書を後からひけるという意味であって、どういう意味の内容を話しているかがわかるということではない)、ときどき止めて戻して見直すのは必要だったが、4/5くらいはわかったと思う(全然、何言ってるかわからないところもあるけど)。1講義、つまり1/2週あたりに15分程度のビデオが7本くらい。それから宿題として普通の問題集(10問くらい。主に選択問題ただし多選択あり)とプログラミング(穴埋め問題。要所要所でグラフ表示などがあるので、講義の内容を実習で確認するという雰囲気)。

実際にやってみると、聴きとれなくて見直したり、わかったつもりでわかっていなくて宿題の問題がひどい点で、できなかった単元を見直したり(宿題は再試行可能)すると、大体、1日2~3時間、2日くらいできない日があって、土曜日に問題解くのを入れて4~6時間くらいかかった(正味、週あたり10~12時間近くを使っていることになる)。このあたりは、英語の聴き取りに難がなければ半分くらいの時間で済むとは思う。

という具合に、実際に受講してみたら結構時間が取られた。とは言うものの、1か月半くらい進んだところでペースがわかってきて、それなりに進められるようになったので、何気なく、暗号の講義も取ってみたら、こっちは大変だった。

まず、先生の早口っぷりがすさまじい(ただ、慣れというのは確かにあって、最後のほうでは結構わかるようになった)。しかも、内容が(僕にとっては)すさまじく難しい。というか、日本の数学と用語は英語だから異なるのは当然として、どうも解の求める道筋が違うような気がする。とはいっても、高校までの数学の知識でどうにかなるレベルではある(高校生のための数学入門みたいなWebページを最初に参考ページとして示された)。

講義も、20分越えのビデオが週あたり10本以上あったりして、えらく大変で驚いた(つまり、先生によって講義の粒度にはばらつきがある)。

ただしプログラミング実習は実におもしろかった(特に、パディングオラクルの実習がおもしろかった。いずれにしても、解読系はプログラムの結果が確実に見えるのでおもしろいに決まっているのであった。もっともMLのほうもおもしろいのだが)。

プログラミング実習で利用する言語は、MLのほうはOctave(またはMATLAB)が指定されていてそれを利用した(ヘルパ関数が提供されているからだと思う)。

一方、暗号のほうはほぼRubyで解いたが(結果をWebで提出して採点して返す仕組みなので言語は問わない。Wikiの書き込みを見ると、他にもPython、Java、C#、Haskell、Perlとまんべんなくいるようだった。ただ、modPowとかmodInvとかを使う必要があるときはJavaを使った(が、途中でOpenSSLのBNクラスを使えば良いと気付いてからはRubyに戻ったけど)。あと、バグがあったのが原因だったのだが、Rubyで計算したら1時間以上かかっても終わらないのでJavaに切り替えたときもあった(が、そもそもバグなのでJavaでやっても終わるわけがない。であらためてそのままJavaで修正してやっているうちに解にたどりつけた(正しく解ければ秒殺だった)ので、結局Rubyでやるとどのくらい時間がかかるのかはわからずじまいだったけど)。

宿題(というか週ごとの小テスト)について、暗号のほうはえらく難しくて(そもそも講義の理解がものによってはほとんどわかっていなかったりするのが原因だとは思う)ぎりぎり及第点というところ(7/10以上)だった(一方、MLは復習してリトライすると10/10とれたが、そこは実習系と論理系の違いだろうな)。

無事完了すると、PDFの修了書を送ってくれる。何の役に立つんだ? という疑問があるが(ちゃんと注で、これはスタンフォード大学の提供している教材を使っているけど、スタンフォード大学で学んだという意味ではないし、スタンフォード大学の何かを証すものでもなんでもない、とか書いてある)、Wikiでの生徒の書き込みをみると、会社に対してちゃんと受講したという証拠として提出するというのはあるらしい。

(これは暗号のほう。48.8/63.5で、最終試験が9.5/13 となっている。ようするにぎりぎり及第)

以下、感想。

・ひさびさに勉強っぽいことをやったわけだが、おもしろかった。

・いろいろフィードバックを要求したりすること、教材は都度作り直しているらしいこと、スタンフォード大学は実際に学校で行う講義を集合講義から変えようとしているというようなニュースを見かけたことから考えると、学生用の教材作りのベータテストのような意味合いがあるのかな?

・せっかくMLのやり方はわかったので、一発学習させてみようと思いながらなかなか手がつかないのはよろしくないなぁ(資格取得が趣味の人みたいだ)。

・他の大学も参入してきているのでどんどんコースが増えている。これみるかぎり相当人気があるのだと思う。それにしても、資金源と、目的(本当の学生用教材のベータテストというのはあるにしても)は何なのだろう?

・今度は、9/18開講のオダスキーのFunctional Programming Principles in Scalaを受ける予定。これはスタンフォードではなく、スイス連邦工科大学だ。

(以下追記)まとめを書いてないじゃん。

というわけで、ある程度英語が聞き取れて、週に10時間くらいを確保できそうで、おもしろそうな講義があったら、受けてみると良いと思います。

講義のビデオは多分フラッシュだと思うけど、PCのブラウザでも見れるし、iPadのSafari(ということはmp4かな)でも見られます。


2012-08-28

_ 脳みそフィードバック

たまたま、今日は遅い出社なんで家をうろうろ徘徊していたら、妻がNHKの朝の奥様番組を見ていた。

どこか日本の大学だと思うが研究者と学生が出てきて、空間把握能力について説明してる。平面の地図を眺めて、位置関係を考えていると、側頭の名前はさっそく忘れたがどこかしらかに熱反応(だと思うのだが、おそらくサーモグラフィを見せているのだと思う)がある。

さて、空間把握能力が劣る人ってのは、ここを使わないんですよね、と説明が入り、局アナでもぴかいちに地図を読めない女性を測定する。と、確かに、地図を見せて考えさせても脳みそは青ざめたままである。

で、窓ふきを角を基点として現在どこを拭いているのかを意識させながら行わせると、そのあたりに反応があり、つまりは、この訓練をすることで空間把握能力が向上するんですよ、みたいな説明が続く。

これはおもしろかった。

もしも、個々の人間の脳みその能力にそれほど差がないとすれば、頭の良し悪しというのは、脳みその使い方の問題と仮定できる。正しく使える人間は賢く、そうでない人間は愚かだ。当然だ。

その場合、うまく使う人とそうでない人では、使っている場所に差があるはずだ。それを視覚(ではなくても良いのだが、サーモグラフィを前提とすると当然視覚となる)によってフィードバックさせることで、自分の頭の使い方を補正していくことができるのではないだろうか。(スポーツとかで、上級者の素振りを真似させるようなものだ)

もし、それが可能ならば、頭を使うというのは、肉体フィードバックによって訓練可能な問題となり、つまりはスポーツの一種となる。

スポーツの一種となれば、努力、根性、友情の世界、つまりは子供にとってのマンガの領域だし、ゲームとなる。

つまり、今の頭の使い方というのは、逆に根性の世界だということだ。とにかく計算しまくったり、知識を覚え込んだりしているうちに、賢い頭の使い方を身につけることができるかどうか、で、そこには人類の経験から判明している勉強という修行によって養う(合理性に欠けた)根性の世界がある。

そうではなく、肉体(この場合は脳みそ)の正しい使い方を先に身につけてから、学習をすることで、より高速かつ効果的に賢さを追求できるのではなかろうか。

もし、それが可能ならば、教育の在り方もえらく変わることになり、おもしろい。

_ ユウレカ

おれは今気付いたが、「いくらなんでも」と書くべきところで「何が何でも」と書いたり言ったりしている。


2012-08-29

_ C#でeach_with_index

Rubyにはeach_with_indexというメソッドがあって、これを使うとオブジェクトの列挙とインデックスが同時に取れる。

[:a, :b, :c].each_with_index do |v, i|
  p "#{i}:#{v}"   #=> "0:a", "1:b", "2:c"
end

C#で同じことができるとforはほとんど不要になる。

var a = new char[]{ 'a', 'b', 'c' };
/* 本当は次のように書きたいが、インデックスが欲しいので
foreach (var x in a) 
{
    Console.WriteLine(x);  
}
 for を使うことになる? */
for (var i = 0; i < a.Length; i++) 
{
    Console.WriteLine(i + ":" + x);  
}

LINQを使うとインデックスを得られる。

foreach (var x in a.Select((v, i)=>new {Index = i, Value = v}))
{
    Console.WriteLine(x.Index + ":" + x.Value);
}

これは良い。forは無限ループのfor (;;) だけでしか使わなくて済む。

で、ここで良くわからないのは、同じことを、from構文ではどう書けば良いのかわからない。

(from x in a select ???? new { Index = i, Value = v }) // どう書くんだ?

QA@ITに投げれば良いのか、と書いてから気づいたりして。


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|

ジェズイットを見習え