何とか参加。
かずひこさん・コウザイさん。息もピッタリ。 yield を詳しく、ということで。オレオレ Enumerable を実装とか。 この辺は何度やっても楽しいね!
いくつか解答を見たけど、partition は「くくくっく」一回でよくないすかね?
def partition t = [] f = [] each do |elem| (yield(elem) ? t : f) << elem end return t, f end
とか。これは Kernel#returning があればもうちょっとすっきり書けそう。
def partition returning([[], []]) do |t, f| each do |elem| (yield(elem) ? t : f) << elem end end end
あんま変わらんか。
あと、inject の初期値が省略されたときを実装しようとすると、 nil が渡されたのか、何も渡されなかったのかを識別できないような気が。
def inject(memo = nil) each do |elem| memo = memo.nil? ? elem : yield(memo, elem) end return memo end
毎回分岐するのもなぁ。でも最初の要素を汎用的に取り出す方法がないのでしょうがない?Array だけなら shift でいいんだけど、 初期値に nil を渡す場面があんまり想像できないからいいや。
Yuya さん。その場でダウンロードして、説明を横耳で聞きながら、やってみるとあっさり動きました。素晴らしいです。 今回はすでにインストールしてあった InstantRails のプロンプトから Exerb をインストールしたので、 何やら c:\rails\... なところに入ってしまった感じなので、ASR も含めてもう一度環境を整えよう。
大林さん。これまたその場でインストール(つかコピー)して試してみる。
$ rrse-make-table --refe /(snip)/bin/rrse-refe-listdescs:32:in `descs': invalid information (RuntimeError) from /(snip)/bin/rrse-refe-listdescs:26:in `descs' from /(snip)/bin/rrse-refe-listdescs:46:in `display_info' from /(snip)/bin/rrse-refe-listdescs:87
ってのが 2 回出るので、rrse-refe-listdescs にある、 ReFeInfo#descs が出す例外をコメントアウトしてみる。
あとで気づいたけど、例外が出るのは spec が
StringScanner#self.pos=
のときなので、
- when /^[A-Za-z0-9_:]+(#|\.)[^#.]+$/ + when /^[A-Za-z0-9_:]+(#(self\.)?|\.)[^#.]+$/
かなぁ。
あと、アンケートにも書いたけど、 [f1] とか押したときに、カーソルが移動して、
ぐらいはできるとうれしそう。 そして、そっちのバッファでもカーソル位置のメソッドをミニバッファに表示とか、[f1] で(今度は同じバッファに)ヘルプを表示とか。
cuzic さん。中級者向けでマニアック。なんとなく知ってるつもりでも、 irb をたたかないと確信が持てないような問題をいくつか。 というか、何をするにもまず irb を使うなぁ、script/console を含めて。
川端光義さん。聞き覚えがある名前だと思ったら、 RubyKaigi2006 の懇親会で名刺交換したんだった。 スライドの再利用がうまい。ぴったり 5 分で終了。これ重要。 今日一番の大ウケ。XP 祭り行こうかなぁ(←と言ってる時点で XP はムリポ)。
前半の解答編とグループレッスン。 グループレッスンではリーダーだったりしたんだけど(←前日に任命された)、 全然まとめきれなかったなぁ。役に立たないリーダーでごめんなさい。 チャンスがあれば是非また。
あぁ、またはしっこに座ってるよ。でも今日はずーっと面白かったのでよし。
回を追うごとにえらい人数になってます。 オーダーとりに来てもらうまで 40 分程かかってます。 15 分程で飲み終わって、そのまま解散であります。 脱出には地下道がおすすめであります。
Ruby勉強会でpartitionのコード書いた人です。<br>>partitionの例<br>なるほど、参照元も振り分けできるんですね・・・<br>恥ずかしながら、初めて知りました。まだ昔ながらのコーディングで凝り固まっているところがあるなぁ・・・。<br>こういう形で知識が増えるのも良いですね。
次は地下道をつかってみますです。でも、みんなついてきたりして…(笑)
へー、地下道ね。メモメモ φ(..)
コードが短くなってるので正解に近づいてるはずです。>> サイロスさん<br><br>むむむ。もうネタばれだ……(わら >> あゆさん、かずひこさん
うぉっ。ばれてしまいました。…また別の方法を考えねばです(笑)