Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

第161回Asakusa.rb

今日は浅草の渋谷ヒカリエで行われた第161回Asakusa.rbに行ってきました。前々回(だったかな)ヒカリエで行われた時以来、2回目の参加です。

ところで、Rubyで開発をしていて、標準ライブラリやgemのソースを見たり、あるいは直接いじってなんかしたり(デバッグ目的とかで)したいことがよくあります。今日見た「自分のための code を書こう」というスライドで紹介されていたreditorというツールがよい感じだと思って、使い始めてみました。

んでもって、bundler管理下にあるプロジェクトの場合は、reditor open railsとした場合に、グローバルなものではなく、bundlerでインストールしたライブラリを開きたいので、そういうpull-reqを送ってみました。mergeされて、新バージョンがgemにあがってるので、使えます。

あと、EURUKO 2012から帰ってこられたばかりのa_matsudaさんのお話を伺ったり。海外のRubyイベント、楽しそうな感じなので、一度行ってみたいなー。

その他には、個人的プロジェクトのテストソンしたり、ってな感じでした。

つか、pull-reqしといてなんだけど、もうちょっといい書き方できたらよかったと思っていて、たとえばPerl 5.16でいうところの以下のコードのようなことが、Rubyでもできたらよいなと思ったのであった。

#!/usr/bin/env perl
use v5.16.0;

(
    sub {
        my $i = shift;
        say $i++;
        __SUB__->($i) if $i < 10
    }
)->(0)
#=> 0
#=> 1
#=> ...
#=> 9

この__SUB__によって、現在実行中のCodeRefを参照できるので、無名関数で再帰を作ったりできるみたいな感じです。これ、Rubyでもできるのでしょうか。