Rubyをはじめたときにつまずいたこと

588a291ce25b07e836ae5df8911eaf18?s=47 tdak
June 02, 2013

 Rubyをはじめたときにつまずいたこと

2013/06/02 RubyHiroba で発表したものです。
残念なプログラマがRubyをはじめたときにつまづいたところについて。

588a291ce25b07e836ae5df8911eaf18?s=128

tdak

June 02, 2013
Tweet

Transcript

  1. Rubyを始めたときに つまずいてしまった 5つのこと

  2. 自己紹介 @tdakak PHP をメインに Web システム開発を数年。 Ruby もちょっと。 現在は自宅で手乗り文鳥といっしょに PHP

    のソースコードを読んだりしています。
  3. 自己紹介 絶賛無職中。

  4. 今日話したいこと

  5. 話したいこと プログラミングのセンスがいまいちで、 学生時代に C と COBOL、 実務ではほぼ PHP しか書いてなくて、 OOP

    をきちんと理解しきれていない人が Ruby を始めたときにつまづいたところ。
  6. つまづいてしまったところ

  7. 1. Object

  8. 1. Object Ruby の変数は すべてオブジェクト

  9. 1. Object 文字列の長さを取得したいとき たとえば PHP ではこう書く。  echo strlen('foo'); #=> 3

  10. 1. Object 文字列の長さを取得したいとき Ruby ならこう書く。  p 'foo'.length #=> 3

  11. 1. Object ?

  12. 1. Object PHP で文字列長を調べるときは Strlen 関数に値を渡してその戻り値を得る。

  13. 1. Object Ruby では変数はすべてオブジェクト。 文字列だろうと数値だろうと とにかくオブジェクト。 文字列なら文字列としての ふるまいを持ち合わせて いることが期待できる

  14. 1. Object PHP でも OOP の概念はあるが 変数=オブジェクトではないので ちょっと戸惑った…

  15. 2. Symbol

  16. 2. Symbol Hash['hoge'] Hash[:hoge]

  17. 2. Symbol ??

  18. 3. yield

  19. 3. yield ???

  20. 3. yield PHP でも次のバージョン(5.5)から Ruby の yield と似たような機能を持つ ジェネレータが実装されるが、 今のところまだ馴染みのない機能なので

    ちょっと戸惑う。かも。
  21. 4. Black magic

  22. 4. Black magic

  23. 一家に       一冊

  24. 5. Simple!!

  25. 5. Simple!! $ とか ; とか {} とか ないから落ち着かない…

  26. 5. Simple!! みんなワンライナーだし イディオムわからない…

  27. 5. Simple!! あーこれ PHP なら あの関数呼べば済むのに…

  28. 5. Simple!! でも Ruby 書き続けた後に PHP 書くと Ruby ならもっとシンプルに 書けるのになー

    ってつい思ってしまう…
  29. 5. Simple!! ふしぎ!!!!!

  30. 困ったときどうする?

  31. 困ったときどうする? 調べてみる ・Ruby のドキュメント   http://www.ruby-lang.org/ja/documentation/ ・ 書籍を見てみる ・ ソースコードを読む

    ・ ぐぐる
  32. 困ったときどうする? とにかく動かしてみる ・ 小さくても動くものを作ると楽しい ・ ちょっとしたことを確認したいとき irb 便利

  33. 困ったときどうする? 誰かに聞いてみる でももし身近に聞ける人がいなかったら? ・ ネットで聞いてみるとか ・ *.rb とかに出掛けてみるとか ・ プログラミング経験の少ない女性なら

      Rails Girls もあるよ!
  34. まとめ

  35. まとめ 理解したあとではどれも何てことないものです。 でも、腑に落ちるまでは何となく気持ち悪い。 Ruby 分からないなーって思ってる人も 些細なところでつまずいてるだけかも。

  36. まとめ これから Ruby を始めたい人へ 新しい言語を知るのって楽しいよ! どこかでつまずいてしまったときには どこかのコミュニティに足を運んでみるのも 何かのきっかけになるかもしれません。

  37. まとめ Rubyist さんたちへ Ruby でコード書けずに悩んでいる人、 もしかしたら Rubyist の皆さんにとっては 何でもないところでつまづいてるのかも。 ぜひ話を聞いてあげてほしいです。

  38. ありがとうございました。