Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。
Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません...
_ ってそれってRuby会議なのかみたいな。
いやIRCも頑張ったよ!(それも違うんじゃないか)
_ そういえば前にRuby会議で仕事をするとか言ってたけど、その仕事はボツになりました。
実はMatzの基調講演の時にサブ会場(多目的ホール)で中継を見てる人たちの前でリアルタイムツッコミをやるのはどうか、という話があったという。
_ で、それがボツになったかわりかなんか知らないけど、明日(2日目)の最初のセッションの司会をやることになりました。
朝早いけどみんな来てね!
# 今頃書いても遅いよ
_ いろいろあって1時間ほどしか眠れないまま夜が明けました。
_ さて、朝一セッションの司会なのですが...
30分前になっても、スタッフの誰からも、何をどうすればいいのか説明がありません。
マジかよ!
なんとか時間管理についての説明だけ聞き出して、本番。
_ 最初、いきなり緊張で頭の中が真っ白になって、硬直してしまいましたが、よく考えたらそもそも何をしゃべるか一切事前に考えてなかっただけでした。
_ まあ、なんつーか、ゆるゆると進めてしまいましたが、朝一から来て下さった皆さん、発表者の御三方、スタッフの皆さん、ありがとうございました&いろいろごめんなさい。
_ ちなみに、今回の司会で用意したことは実は一つだけで、発表者を全員「〜〜こと〜〜さん」と紹介することでした。
で、artonさん、gotokenさんで伏線を張っておいて、最後sekiさんでオチるという...
笑ってくれた皆さんありがとうございました。
_ Web上での感想とかを軽く見て回ったところ、多目的ホールのいわゆる「開発者席」についてちょっと話があったのでその辺のことを書いておきます。
_ まず、「開発者席」なんてものはありません(いきなり結論)。
0日目は開始前にデザインミーティングをやるという話があったのでみんな集まっていたのですが、まあその後動くのが面倒な人たちがそのままずるずると座っていただけなので他意はありません。
1日目と2日目については、メインホールで電源を確保するのがめんどいのと飲み食いできないのがつらいのが判明したので多目的ホールのほうに常駐したわけですが、その際に知り合い同士が固まりやすかっただけでそれ以上でも以下でもありません。
_ というわけで、むしろ俺らがKYなだけで誰でも空いてる席には好きに座っていいんですよもちろん!
_ さて、そんな感じでだらだらと何時間も席を占領して何をやっていたかというと、人によって違うわけではあるのですが、私の場合は、
_ あと、多目的ホールといえば、かんさんに何度も何度もペットボトルのゴミを潰していただいたのがなんか恐縮でした。
よく考えたら自分で潰して持っていけばよかったのか...
_ 0日目の前夜祭でいきなり一升瓶を持ち込むなかださん。
まあそれは想定内だし、なかださんの車を俺が宿まで運転するのも予定のうちだったのですが、軽自動車を運転するのは実は初めてなので意外なほどとまどいました。
難しいな軽自動車。
_ 1日目はなかださんの車は宿の駐車場に置きっぱなしだったのですが(会場まで徒歩数分なので)、2日目はチェックアウトしてるので当然車を移動しないといけません。
_ 俺「今朝は俺は運転しなくていいよね、当然」
なかだ「あ、部屋出る前に残ってた日本酒空けてきた」
_ 会場や懇親会などで何人かの方々に「お前は何か発表しないのか」と言われたんだけど、発表したいネタが別にないんですよねえ。
たぶん、私にとってのrubyってのは単なる生活の一部になっちゃってるので、わざわざ大勢の人たちに語るようなことがないというか。
自分が毎朝トーストをどうやって焼いてるかをわざわざ聴衆の前で発表しようとか、誰も思い立たないでしょ?
_ (2008-06-24 21:09追記)
そんなウリィィィィッ!な意図はそんなになくて(少しはあった)、毎日いじってる当たり前のものだから、いちいち話すもんでもないよなあというその程度の意味で。
_ で、実は朝はあんまり食べないからそんなにトースト焼かないんだけど(ぉぃ、焼いてからなんかつけるんじゃなくて、マーガリンを塗ってから焼くのが好きだよ!
融けたマーガリンがトーストにしみこんで、匂いを味わいながら食べるのがいいんだよねえ。
なお、本当はマーガリンよりバターがいいんだけど、焼く前に塗るにはバターだと固すぎて大変なので、マーガリンで妥協っす。
_ とか、いざ語ってみると、トーストの焼き方もなんか既に俺普通じゃないのかもしれんな...
_ なお気分がいいときはさらにチーズとサラミを載せるよ!
チーズは「とろけるチーズ」じゃなくて、普通のスライスチーズを敢えて使ってとろけさせるのがいいです、はい。
_ デバッグといえばwinsockの件。
手元では--with-winsock2の有無ではdrbの挙動に変化はなかったよ!
_ 先日のはmake test
が通らなかったので、直してみました。
ついでにブロック引数つきメソッドを呼び出せなかったのを修正。
Index: parse.y =================================================================== --- parse.y (revision 17554) +++ parse.y (working copy) @@ -696,6 +696,7 @@ static void ripper_compile_error(struct %token tCOLON2 /* :: */ %token tCOLON3 /* :: at EXPR_BEG */ %token <id> tOP_ASGN /* +=, -= etc. */ +%token tOP_ASGN2 /* .= */ %token tASSOC /* => */ %token tLPAREN /* ( */ %token tLPAREN_ARG /* ( */ @@ -720,7 +721,7 @@ static void ripper_compile_error(struct %left keyword_or keyword_and %right keyword_not %nonassoc keyword_defined -%right '=' tOP_ASGN +%right '=' tOP_ASGN tOP_ASGN2 %left modifier_rescue %right '?' ':' %nonassoc tDOT2 tDOT3 @@ -1297,6 +1298,17 @@ command : operation command_args $$ = method_add_block($$, $5); %*/ } + | variable tOP_ASGN2 operation2 command_args cmd_brace_block + { + /*%%%*/ + block_dup_check($4,$5); + $5->nd_iter = NEW_CALL(gettable($1), $3, $4); + $$ = assignable($1, $5); + /*% + $$ = dispatch4(command_call, $1, ripper_id2sym('.'), $3, $4); + $$ = method_add_block($$, $5); + %*/ + } | primary_value tCOLON2 operation2 command_args %prec tLOWEST { /*%%%*/ @@ -3366,6 +3378,15 @@ method_call : operation paren_args $$ = method_optarg($$, $4); %*/ } + | variable tOP_ASGN2 operation2 opt_paren_args + { + /*%%%*/ + $$ = assignable($1, NEW_CALL(gettable($1), $3, $4)); + /*% + $$ = dispatch3(call, $1, ripper_id2sym('.'), $3); + $$ = method_optarg($$, $4); + %*/ + } | primary_value tCOLON2 operation3 { /*%%%*/ @@ -6492,6 +6513,16 @@ parser_yylex(struct parser_params *parse pushback(c); return tDOT2; } + else if (c == '=') { + if ((c = nextc()) == '=' || c == '~') { + pushback(c); + c = '='; + } + else { + pushback(c); + return tOP_ASGN2; + } + } pushback(c); if (ISDIGIT(c)) { yyerror("no .<digit> floating literal anymore; put 0 before dot");
def obj.==
とかdef obj.=~
とかと衝突するのを無理やり回避してるのがかっこ悪い。
lex_state
でなんとかできないもんかと思うんだけど...
_ どうもRubyistはMac使うとかいう誤解(そう、断言するが誤解だ)があるみたいですな。
0日目開始前のRubyデザインミーティング(まあ、ろくにミーティングなんかしなかったけど)に集まった日本人committerのマシンは、全部非Macでしたよ。
もちろんそこにいたのは、matz、ko1、nokada、eban、...といったメンバーですよ!
_ つーわけで、wannabieな連中がMacに飛びついてる傾向が強いだけなんじゃねーの? と思います。
いや俺もMacほしい(つーかppc G3なiBook持ってる)んだけどね。
被捕捉アンテナ類
[Ant]
[Antenna-Julia]
[Rabbit's Antenna]
[Ruby hotlinks]