写真は@gliese035さんと@rikiyahirataさんと@kimihito_さんです。 思えばOkinawa.rbのMeetupはじめてからブログをしっかり書いたことがない。
すぎた人生は戻ってこないので過去の記事はもう書かないと思う。ちょっともったいなさすぎる。
今書かないと永遠に書かないので、今書きます。
今日ははじめてOkinawa.rbにお越しの方もいらっしゃいました!
@gongoZさんきてくれてありがとー! @nekonekomeikoさんありがとう!
今日やったこと
Twitterで一言で書いてたので引用すると
「今日は僕は楽しめました。メタプロ、下レイヤーな話、Airbnbの件、&:symbolで暗黙的にto_procが呼ばれる、PHPだと連想配列と配列っておんなじ感じだけどRubyの配列とハッシュって結構違うよねっていう感じの話、唐揚げ、正規表現の否定戻り読み。」
メタプログラミング
久しぶりに@naopontanさんが来てくれてたので一緒にメタプログラミングRubyを読みました。前回、第2章の途中まで読んでいて、2章のまとめを読んで3章へ。
ブロックの使い方、クロージャとスコープの話。
スコープゲートしっかり覚えた! スコープゴートを超える話も覚えた!
ダイナミックスコープとレキシカルスコープの違いについて@libkinjoさんの書いてくれたPerlでmyとlocalを使ったサンプルを見ながら読んでいました。
詳しいことはここにまとめられないかも。あとで別エントリにあげます。
下レイヤー
Okinawa.rbとは別で下(ネタ)レイヤーの勉強会が立ち上がりそうです。モチベーションが保てて技術の向上にも繋がると思うのでぜひ頑張っていきたいと思います。
内容が下でも、それを改善していくプロセス、そこで得られた技術は他でも役に立つはずです。
Airbnbの件
ギークハウス沖縄をAirbnbに登録しています。A House for GEEK! GeekHouse Okinawa
間貸ししている部屋を探せるようなサービスです。登録してから数件、借りたいなーという申し込みがありました。
英語の申し込みがあった場合、翻訳や辞書をたよりながら読めはするのですが、気のきいた返事が書けなくて、Okinawa.rbの時に@RedHotMadGalilさんにヘルプを頼んで、書いてもらっています。
ほんとに、いつもありがとうございます。
&:symbolで暗黙的にto_procが呼ばれる
ハッシュのキーについて@_attonさんとコード書きながら話してる中で自分が{:foo => 1, "bar" => 2}.keys.map(&:class)
というコードを書いて見せたところ、map(&:class)ってなんぞ?ってなりました。
メソッドの呼び出しで&:classって書くと、&がついてるので:classはプロックだよね、って感じになって暗黙的にSymbol#to_procが呼ばれるようです。
自分の理解を助けるためにソースコード書いてみました。
PHPだとarray_ほにゃららで処理するし、配列も連想配列も作るときarray()でかく。
RubyだとHashとArrayのクラスも分かれてるし、それぞれのメソッドがある。
「PHPでは配列も連想配列も一緒な感じだけど、Rubyって違うの?」っていう感じの疑問から話題が広がりました。
唐揚げ
@kanpe777さんから頂いた唐揚げを食べました。美味しかったです。レンジでカリッカリにするのがお勧めらしい。今度試す!(早くも頂いた唐揚げ1kgがなくなりそうです)正規表現の否定戻り読み
(自称)初心者のみなさんが@ey0tさんと一緒に楽しいRubyを読んでいます。(いつもありがとうございます。)そこで出てきた問題をどう解決するか?っていう感じでした。(すみません、問題についてちゃんと把握してないかも)
$ grep bar | grep -v foobarでよくね?みたいな話が出たり。
FacebookのOkinawa.rbのグループに皆さんの投稿がまとめられています。
http://www.facebook.com/groups/okinawarb/294866413919509/
@_attonさんが書いてた(?!>)っていう否定戻り読みの正規表現を知らなかったので超参考になりました。
正規表現だけでも勉強会開けそうな気がする。誰か教えてください。
自己紹介
出来たかな?もうちょっと掴める自己紹介がしたい。
今回は自己紹介をTwitterで実況してみました。
まぁまぁ良さそうな反応だったので次回もそんな感じでやろうと思ってます。
終わりに
毎回Okinawa.rbのMeetupが終わるたびに考えています。みんな満足出来たかな? と。
とりあえず僕が楽しめた分は記事に残してみなさんと共有していきたいなと考えています。