よちよち.rb 第29回 #yochiyochirb
7/31編集 ※一度「Railsエンジニア」で公開しましたが、「Webエンジニア」に訂正します。
万葉さんで、記念すべき「肉」回!
※お肉は食べていません。第29回という意味。
概要
自己紹介(「2年後のわたし」)
Railsチュートリアル(「4.2文字列(string)とメソッド」より)
みんなの2年後
しゅくだいを見たとき、「どうして2年後?」って思ったんですけど、
どうやら1年後だと近すぎるし、10年後だと先すぎるみたいなことだったみたいでした。
たしかに、1年後ってほんとすぐで。
でもみんなの話を聞いていたら、けっこう「今の悩みをそのまま」書いているような気がして
まぁ、しゅくだいなのでそんな堅苦しくやらなくていいと思うんですけど、
なんかもうちょっと具体的に練ったりすると、今の目標が明確になって更によくなるかな、と思いました。
と、いってる私の2年後は「RailsWebエンジニアになる」なんですけどね。
漠然としている。
いえ、実はRailsWebエンジニアになるためには今何をすべきか、ということは考えて行動してみています。
2年後にはRailsWebエンジニアになっていたいと思うので、今年ないし来年にはデビューして、2年後に「RailsWebエンジニアのkatorieです」っていいたい。
…書いちゃった。書いちゃったからにはがんばる!
文字列から学ぶRuby
チュートリアルが文字列の話だったので、オブジェクト指向について考えてみたり、コンソールでいろいろしてみました。
返り値から学ぶ、「オブジェクト指向」
「オブジェクト指向言語」ってなんなのか、わかりません。
いろいろ読んでみても… 私がRubyしかやったことないからなのか??
でも今回のグループワークでちょっと理解が進んだ気がします。
一番ピン!ときたのはこれ。
オブジェクトとは (いついかなる場合にも) メッセージに応答するものです。
ここでいうメッセージというのはメソッドのことです。
オブジェクトにメッセージ(メソッド)を伝えると、その返答がある。
>> "foobar".length # 文字列に "length" というメッセージを渡す => 6
この場合は、"foobar"という文字列に、その文字数を返してくれるメソッド"length"を渡すと、
返答として「6」が返ってくるんですね。
コンソールで触ってるとわかりますが、Rubyはどんなことにもすべて返答します。
そんなメソッドないよ、とかも、全部。
そこで疑問になったのが、「どうして"puts"して文字列を出力した後に、nilが返ってくるのか?」ということ。
しいたけさんもおっしゃっていたけど、「どうしてnilを返す必要があるの?」って、
それ、私も思っていました!!
putsするときって、ただ出力してほしいだけなのに、そこにnil返してますって言われても、
え、あ、そうですか。みたいな。もっと言ってしまえば、え、そんなん期待してないし。みたいな。
ただ出力することだけを期待していたので、「そこに返り値がある」ということが、理解できなかったんです。
そもそも、オブジェクトとメソッドと返り値の関係がわかっていなかったんですね。
それで今回チュートリアルを読んでみて、「(いついかなる場合にも) メッセージに応答する」という言葉にハッとしました。
オブジェクトにメソッドを渡すと、返り値がある。
putsがちょっと特殊な例なのかもしれないっていうのもあって、
出力するものは返り値ではなく副作用であるということもポイントですね。
これ、人に説明するのすごくむずかしいな…
私個人的には、オブジェクト指向への理解がちょっと進んだように思います。
メソッドチェーンしてみた
オブジェクトにメソッド(関数)を渡すと値が返ってくるわけですが、(何度も言う)
そのメソッドはいくつもつなげられるんですね。
これ渡して、あとこれと、これも渡す、ってくっつけていくと、一個ずつ順番に実行されて、最終的な返り値が出力されます。
nil.to_s.to_i.to_a
nilを文字列にかえて("nil")、整数にかえて(きっと"0")、そのあと配列に格納したい、ということをやってみたんですが、
これはエラーでした。
最後のto_aでエラーみたいで、これは何故かというと、
ひとつだけの値をto_aで配列に格納することは、Ruby1.9以降できないみたいです。
ひとつ学びました。
他にもRailsコンソールあれこれ
他のグループでもおもしろいTipsがあがっていたので、
またのぞいてみようと思います。
RubyKajaにエントリしていた
先日 @tyabe さんが見学に来てくださっていてからよちよチストの間でも気になっていた「RubyKaja」。
よちよち.rbもエントリしようよ的な話がちらほら出ていて、FBでも話題になっていたんですが、
今回のミートアップでご報告させていただきました。
すみません、皆さん(特にゆかおさん)!!相談なくエントリしてしまいました!!!!!
私自身、エントリ方法とか前年までの様子とかあんまり考えることなく、
「え?RubyKaka?もちろん○○さんでしょ〜!!」
みたいな気持ちでエントリを後押ししてしまったわけなんですが、
RubyKajaは、コミュニティ単位でのエントリ後、各コミュニティからKajaを選出する流れです。
そうです、コミュニティ単位なので、コミュニティの皆さんと相談して共有してから、エントリすべきでした。
反省しています。ゆかおさん、皆さん、ごめんなさい。
…でも後悔はしていません!!
よちよち.rbは昨年12月に第1回がはじまったばかりですが、
毎週月曜日とそれ以外にもミートアップを重ね、
最初からいる方々、はじめて参加する方々が一緒になって勉強できる、
とっても素敵なコミュニティだと思います。
そんな自慢のよちよち.rbとゆかおさんを、もっとみんなに知ってもらいたいという気持ちでいっぱいです。
とはいえ、ここでちょっと仕切りなおして、きちんと皆さんに相談して選出していければと思います。
ミートアップのなかで、「Shibuya.rbは投票アプリあるらしい」「投票アプリあるといいね」ということで
自然と「投票制にしよう」ということになりました。
また詳しいことはFBページでお知らせしていきたいと思いますが、
言いだしっぺとして責任もってすすめていきます!!
次回、記念すべき第30回!!
やっぱりキリのいい回数って、めでたいですね!
次回は渋谷の電源カフェbeezさんを予定しているようです。