PHPerを魅了する                        Rubyの魅力(1)                               芳野 貴洋                                 (株)手嶋屋   ...
Ruby
Ruby    ✓ 国産のオブジェクト指向言語    ✓ http://www.ruby-lang.org/ja/PHPerを魅了するRubyの魅力(1)          Powered by Rabbit 2.0.6
Ruby::PHPとの違い    ✓ Web用言語ではなく汎用言語    ✓ 純粋なオブジェクト指向言語    ✓ 日本語の扱いが得意PHPerを魅了するRubyの魅力(1)    Powered by Rabbit 2.0.6
Rubyの魅力    ✓ 短い    ✓ 簡単    ✓ 綺麗PHPerを魅了するRubyの魅力(1)             Powered by Rabbit 2.0.6
Rubyの魅力    ✓ 短い ← 今回はこれだけを紹介    ✓ 簡単    ✓ 綺麗PHPerを魅了するRubyの魅力(1)             Powered by Rabbit 2.0.6
Ruby:: 短い
Ruby::短い                  短いはいいPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い    ✓ 短いコードは書きやすい    ✓ 短いコードは読みやすい    ✓ 短いコードはバグが出にくい!!PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い        短いコードはバ        グが出にくいPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い    ✓ 短いコードはバグが出にくい         ✓ キー入力が減るとタイプミスが減る         ✓ 1画面に処理が収まるほど可読性が          高い(80x24)         ✓ 差分が減るので違いがわ...
Ruby::短い                        重要PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い        短いコードはバ        グが出にくいPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い                        比較PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い      PHPとRubyで同      じ処理をするス      クリプトを書くPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い     「引数が100未満かを確認し、100未満の場     合は1つづつ順番に加算して結果を返す」PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い                   まず、PHPPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い                         <?php                         function add($number)                         {            ...
Ruby::短い                つぎ、RubyPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い                 def add(number)                   return "100以上です" if number >= 100                   result = 0 ...
Ruby::短い         使用 行・文字数      言語  行数(関数) 文字数    PHP     21(9)行 261文字    Ruby     9(6)行 157文字   Rubyの方が短かく書ける!PHPerを魅了するRu...
Ruby::短い        短いコードはバ        グが出にくいPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い      今回使ったRuby        の魔法PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い     今回のサンプルにはコードを短かくするた       めの3つのRuby魔法を使いましたPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い.魔法1                       if 修飾子PHPerを魅了するRubyの魅力(1)            Powered by Rabbit 2.0.6
Ruby::短い.魔法1   ifの条件が真の時に実行する処理を   先に書く        def add(number)          return "100以上です" if number >= 100PHPerを魅了するRubyの魅力...
Ruby::短い.魔法1   もちろん unless も同じように書け   る         def hoge(number)           return "100以上ではないです" unless number >= 100PHPerを...
Ruby::短い.魔法2        範囲(Range)オ         ブジェクトPHPerを魅了するRubyの魅力(1)           Powered by Rabbit 2.0.6
Ruby::短い.魔法2   「○番から△番まで」をオブジェク   ト化する        (1..number).each do |i|   # 1からnumberまでが範囲オジェクトPHPerを魅了するRubyの魅力(1)         ...
Ruby::短い.魔法2     範囲 (1..number) は配     列 [1,2,3...number] の     とほぼ同じ (ただし後ろの       書き方は出来ない)PHPerを魅了するRubyの魅力(1)         ...
Ruby::短い.魔法3                       戻り値PHPerを魅了するRubyの魅力(1)           Powered by Rabbit 2.0.6
Ruby::短い.魔法3   最後に評価した値がデフォルトの戻   り値になる                  # result を評価した値が自動で戻り値になる                  # return は不要          ...
Ruby::短い                 def add(number)                   return "100以上です" if number >= 100                   result = 0 ...
Ruby::短い      このようにRuby      で書くとコード        が短か..PHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い      Rubyが本気出を      出したようですPHPerを魅了するRubyの魅力(1)              Powered by Rabbit 2.0.6
Ruby::短い   本気、出しました        def add(number)          return "100以上です" if number >= 100          (1..number).inject {|result...
Ruby::短い    ✓ injectメソッでたたみこみ演算    ✓ 最後の評価はメソッドも可         ✓ injectを評価した結果が戻るPHPerを魅了するRubyの魅力(1)              Powered by R...
Ruby::短い          使用 行・文字数       言語   行数(関数) 文字数     PHP     21(9)行 261文字     Ruby     9(6)行 157文字     Ruby本気   5(2)行 135文...
Ruby::短い    まだあるRubyの魔法     ✓ ブロック付きメソッド呼び出し     ✓ 特異メソッド・メソッド再定義     ✓ キーワード引数 ← 2.0 New     ✓ カリー化 ← 2.0 New     ✓ などなど....
Ruby::短い.まとめ                       まとめPHPerを魅了するRubyの魅力(1)         Powered by Rabbit 2.0.6
Ruby::短い.まとめ    ✓ 短いコードはバグが減る    ✓ Rubyの魔法でより短かいコード      が書ける    ✓ たまに本気出すPHPerを魅了するRubyの魅力(1)     Powered by Rabbit 2.0.6
Ruby::短い.まとめ                       ただしPHPerを魅了するRubyの魅力(1)         Powered by Rabbit 2.0.6
Ruby::短い.まとめ        短かく過ぎると        黒魔法になるの          で注意PHPerを魅了するRubyの魅力(1)     Powered by Rabbit 2.0.6
おわり        ご清聴ありがと        うございまし          た。PHPerを魅了するRubyの魅力(1)         Powered by Rabbit 2.0.6
Powered by Rabbit    このプレゼン資料はRD書式と    Rabbitを使って作成しました。    ✓ RD書式    ✓ Rabbit: rabbit-shocker.orgPHPerを魅了するRubyの魅力(1)    ...
Upcoming SlideShare
Loading in …5
×

phperを魅了するrubyの魅力(1)

1,576 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,576
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

phperを魅了するrubyの魅力(1)

  1. 1. PHPerを魅了する Rubyの魅力(1) 芳野 貴洋 (株)手嶋屋 第1回 LT (社内勉強会)PHPerを魅了するRubyの魅力(1) 2013/03/13 Powered by Rabbit 2.0.6
  2. 2. Ruby
  3. 3. Ruby ✓ 国産のオブジェクト指向言語 ✓ http://www.ruby-lang.org/ja/PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  4. 4. Ruby::PHPとの違い ✓ Web用言語ではなく汎用言語 ✓ 純粋なオブジェクト指向言語 ✓ 日本語の扱いが得意PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  5. 5. Rubyの魅力 ✓ 短い ✓ 簡単 ✓ 綺麗PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  6. 6. Rubyの魅力 ✓ 短い ← 今回はこれだけを紹介 ✓ 簡単 ✓ 綺麗PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  7. 7. Ruby:: 短い
  8. 8. Ruby::短い 短いはいいPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  9. 9. Ruby::短い ✓ 短いコードは書きやすい ✓ 短いコードは読みやすい ✓ 短いコードはバグが出にくい!!PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  10. 10. Ruby::短い 短いコードはバ グが出にくいPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  11. 11. Ruby::短い ✓ 短いコードはバグが出にくい ✓ キー入力が減るとタイプミスが減る ✓ 1画面に処理が収まるほど可読性が 高い(80x24) ✓ 差分が減るので違いがわかりやすいPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  12. 12. Ruby::短い 重要PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  13. 13. Ruby::短い 短いコードはバ グが出にくいPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  14. 14. Ruby::短い 比較PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  15. 15. Ruby::短い PHPとRubyで同 じ処理をするス クリプトを書くPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  16. 16. Ruby::短い 「引数が100未満かを確認し、100未満の場 合は1つづつ順番に加算して結果を返す」PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  17. 17. Ruby::短い まず、PHPPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  18. 18. Ruby::短い <?php function add($number) { if ( $number < 100 ) { $i = 0; $result = 0; while ($i <= $number) { $result = $result + $i; $i++; } return $result; } else { return "100以上です"; } } print add($argv[1]); ?>PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  19. 19. Ruby::短い つぎ、RubyPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  20. 20. Ruby::短い def add(number) return "100以上です" if number >= 100 result = 0 (1..number).each do |i| result += i end result end puts add(ARGV[0].to_i)PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  21. 21. Ruby::短い 使用 行・文字数 言語 行数(関数) 文字数 PHP 21(9)行 261文字 Ruby 9(6)行 157文字 Rubyの方が短かく書ける!PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  22. 22. Ruby::短い 短いコードはバ グが出にくいPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  23. 23. Ruby::短い 今回使ったRuby の魔法PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  24. 24. Ruby::短い 今回のサンプルにはコードを短かくするた めの3つのRuby魔法を使いましたPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  25. 25. Ruby::短い.魔法1 if 修飾子PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  26. 26. Ruby::短い.魔法1 ifの条件が真の時に実行する処理を 先に書く def add(number) return "100以上です" if number >= 100PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  27. 27. Ruby::短い.魔法1 もちろん unless も同じように書け る def hoge(number) return "100以上ではないです" unless number >= 100PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  28. 28. Ruby::短い.魔法2 範囲(Range)オ ブジェクトPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  29. 29. Ruby::短い.魔法2 「○番から△番まで」をオブジェク ト化する (1..number).each do |i| # 1からnumberまでが範囲オジェクトPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  30. 30. Ruby::短い.魔法2 範囲 (1..number) は配 列 [1,2,3...number] の とほぼ同じ (ただし後ろの 書き方は出来ない)PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  31. 31. Ruby::短い.魔法3 戻り値PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  32. 32. Ruby::短い.魔法3 最後に評価した値がデフォルトの戻 り値になる # result を評価した値が自動で戻り値になる # return は不要 result endPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  33. 33. Ruby::短い def add(number) return "100以上です" if number >= 100 result = 0 (1..number).each do |i| result += i end result end puts add(ARGV[0].to_i)PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  34. 34. Ruby::短い このようにRuby で書くとコード が短か..PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  35. 35. Ruby::短い Rubyが本気出を 出したようですPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  36. 36. Ruby::短い 本気、出しました def add(number) return "100以上です" if number >= 100 (1..number).inject {|result, i| result += i } end puts add(ARGV[0].to_i)PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  37. 37. Ruby::短い ✓ injectメソッでたたみこみ演算 ✓ 最後の評価はメソッドも可 ✓ injectを評価した結果が戻るPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  38. 38. Ruby::短い 使用 行・文字数 言語 行数(関数) 文字数 PHP 21(9)行 261文字 Ruby 9(6)行 157文字 Ruby本気 5(2)行 135文字PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  39. 39. Ruby::短い まだあるRubyの魔法 ✓ ブロック付きメソッド呼び出し ✓ 特異メソッド・メソッド再定義 ✓ キーワード引数 ← 2.0 New ✓ カリー化 ← 2.0 New ✓ などなど...PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  40. 40. Ruby::短い.まとめ まとめPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  41. 41. Ruby::短い.まとめ ✓ 短いコードはバグが減る ✓ Rubyの魔法でより短かいコード が書ける ✓ たまに本気出すPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  42. 42. Ruby::短い.まとめ ただしPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  43. 43. Ruby::短い.まとめ 短かく過ぎると 黒魔法になるの で注意PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  44. 44. おわり ご清聴ありがと うございまし た。PHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6
  45. 45. Powered by Rabbit このプレゼン資料はRD書式と Rabbitを使って作成しました。 ✓ RD書式 ✓ Rabbit: rabbit-shocker.orgPHPerを魅了するRubyの魅力(1) Powered by Rabbit 2.0.6

×