Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Ruby と 比較と   (PHP と)2012/12/08RejectTokyoRubyKaigi10                         do_aki
@do_akihttp://do-aki.net/
I’m a PHPer
比較Comparison
conditional expressionif exprunless exprwhile expruntil expr
Ruby’s Conditional Branches        false                  FALSE         nil        other      TRUE
if 文 => 評価 => 結果if   false => false => FALSEif   true => true => TRUEif   0 => true => TRUEif   ‘0’ => true => TRUEif   []...
if 文 => 解釈 =>評価 => 結果if false == ‘0’    => false.==(‘0’)    => false         => FALSEif nil == false    => nil.==(false)  ...
の場合は……
PHP’s Conditional Branches       false => FALSEcast to bool        ture => TRUE
if 文 => 解釈=>評価 => 結果if(false)=> (bool)false => false =>FALSEif(true)=> (bool)true => true => FALSEif(0) => (bool)0 => fals...
if 文 => 評価 => 結果if (‘0’ == false)   => true => TRUEif (null == false)   => true => TRUE
PHP の ==
Ruby’s Conditional Branches        false                  FALSE         nil        other      TRUE
PHP’s Conditional Branches       false => FALSEcast to bool        ture => TRUE
ここまでのまとめ• Ruby の条件分岐は nil/false か否か• nil が特別扱い気持ち悪い(主観)• PHP の条件分岐は bool へのキャストの  結果 false か true か• PHP には PHP なりの一貫性がある
と、いろいろ言ってきたけど   これ全部前振り
本題
Ruby にも PHP の柔軟性を!
Ruby に PHP の 比較を導入require ‘pebbles-php_cond’incldue PebblesPhpCond::bool(0)   # falsePhpCond::equal?(nil, false)   # true
Ruby の比較を PHP にrequire ‘pebbles-php_cond-infected’if nil == false put “It’s php world!!!”end
Let’s PHP life!  (in Ruby)
ありがとうございました
Question?
Ruby and comparison_and...php
Ruby and comparison_and...php
Ruby and comparison_and...php
Ruby and comparison_and...php
Ruby and comparison_and...php
Upcoming SlideShare
Loading in …5
×

Ruby and comparison_and...php

2,327 views

Published on

RejectTokyoRubyKaigi10

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Ruby and comparison_and...php

  1. 1. Ruby と 比較と (PHP と)2012/12/08RejectTokyoRubyKaigi10 do_aki
  2. 2. @do_akihttp://do-aki.net/
  3. 3. I’m a PHPer
  4. 4. 比較Comparison
  5. 5. conditional expressionif exprunless exprwhile expruntil expr
  6. 6. Ruby’s Conditional Branches false FALSE nil other TRUE
  7. 7. if 文 => 評価 => 結果if false => false => FALSEif true => true => TRUEif 0 => true => TRUEif ‘0’ => true => TRUEif [] => true => TRUE
  8. 8. if 文 => 解釈 =>評価 => 結果if false == ‘0’ => false.==(‘0’) => false => FALSEif nil == false => nil.==(false) => false => FALSE
  9. 9. の場合は……
  10. 10. PHP’s Conditional Branches false => FALSEcast to bool ture => TRUE
  11. 11. if 文 => 解釈=>評価 => 結果if(false)=> (bool)false => false =>FALSEif(true)=> (bool)true => true => FALSEif(0) => (bool)0 => false => FALSEif(‘0’)=> (bool) ‘0’ => false => FALSEif([])=> (bool)[] => false => FALSE
  12. 12. if 文 => 評価 => 結果if (‘0’ == false) => true => TRUEif (null == false) => true => TRUE
  13. 13. PHP の ==
  14. 14. Ruby’s Conditional Branches false FALSE nil other TRUE
  15. 15. PHP’s Conditional Branches false => FALSEcast to bool ture => TRUE
  16. 16. ここまでのまとめ• Ruby の条件分岐は nil/false か否か• nil が特別扱い気持ち悪い(主観)• PHP の条件分岐は bool へのキャストの 結果 false か true か• PHP には PHP なりの一貫性がある
  17. 17. と、いろいろ言ってきたけど これ全部前振り
  18. 18. 本題
  19. 19. Ruby にも PHP の柔軟性を!
  20. 20. Ruby に PHP の 比較を導入require ‘pebbles-php_cond’incldue PebblesPhpCond::bool(0) # falsePhpCond::equal?(nil, false) # true
  21. 21. Ruby の比較を PHP にrequire ‘pebbles-php_cond-infected’if nil == false put “It’s php world!!!”end
  22. 22. Let’s PHP life! (in Ruby)
  23. 23. ありがとうございました
  24. 24. Question?

×