読者です 読者をやめる 読者になる 読者になる

第21回 Ruby/Rails勉強会@関西 にいってきました。

今日は神戸大学で行われた第21回 Ruby/Rails勉強会@関西へいってきました。六甲で降りるとか子供の時六甲山牧場行ったとき以来じゃないか?

今回はまつもとゆきひろさんが来られると言うことで、人多そうだと思ったら案の定、すごいたくさん人いました。

Ruby 1.9 ですが、僕はあまり込み入ってRubyを使ってるわけじゃないので、便利になったとか不便になったとか、比較して意見をいえないのですが、loop はかなりよさそうに感じた。C#にはつかないの?

JRubyで3Dは、やはりパフォーマンス面がどれくらい落ちてるのかが気になるところではあります。

BioRuby は、はじめてRuby勉強会@関西にきたときも同じテーマだったのですが、毎度のことよくわかりませんでした。

初級者レッスンは、何度も誘ってて今回はじめてやってきたでみっちさんとふたりで課題といてました。そのときはわりと余裕もなくてんぱっててできなかったのですが、帰ってきて僕も解いてみた。解説聞いた後なので、自力でやったわけではないのですが(特に、Rangeにするとかそんな便利なこと思いつかない)、伊勢的解答はこんな感じ。

require 'date'

def puts_calender(year, month)

  # 指定された月の1日と末日を求める。
  start_date = Date.new(year, month)
  end_date   = (start_date >> 1) - 1

  # ヘッダ出力
  puts "   #{Date::MONTHNAMES[start_date.month]} #{start_date.year.to_s}"
  puts "Sn Mo Tu We Th Fr Sa"

  # 1日の曜日がずれるぶんだけ、スペースを出力する
  start_date.wday.times do
    print "   "
  end

  # 1日から末日まで、1日ずつ処理をする
  (start_date..end_date).each do  |date|
    # 日付を出力
    printf "%2d ", date.mday

    # 土曜日を出力した後は、改行を出力
    if date.wday == 6
      print "\n"
    end
  end
end

if $0 == __FILE__
  puts_calender(Date.today.year, Date.today.month)
end

その後の懇親会は、串揚げ食べ放題でした。ちょっとせわしない感が。懇親会も会場の制限で早めに終わってしまったので2次会のカラオケに参加させてもらったんですが、1時間で追い出されてしまう。ありゃ罠だよと思いつつ、あんまり長居すると翌日にひびくかな、というのが頭によぎったのでこのタイミングで帰宅しました。

あと、cuzicさんのRuby on Windows本にはRubyから.NETアセンブリを呼び出すライブラリ、RubyCLRのお話に結構ページ数が割かれているそうです。現状、Rubyにおける.NET、.NETにおけるRubyどちらにおいても、一番使いやすく、自然に使えるのはRubyCLRなので*1、これは名著の予感です。帰って速攻Amazonでポチりました。

Rubyist Magazine出張版 Ruby on Windows

Rubyist Magazine出張版 Ruby on Windows

*1:中の人がIronRubyやってるので、長期的な目で見たらIronRubyになるけど、何度も言うようだけど require で指定するのがアセンブリというあたりが気にくわない。