Upload
doaki
View
1.809
Download
1
Embed Size (px)
DESCRIPTION
RejectTokyoRubyKaigi10
Citation preview
Ruby と 比較と (PHP と)
2012/12/08 RejectTokyoRubyKaigi10
do_aki
@do_aki
http://do-aki.net/
I’m a PHPer
Comparison
比較
conditional expression
if expr
unless expr
while expr
until expr
Ruby’s Conditional Branches
TRUE
FALSE false nil
other
if 文 => 評価 => 結果
if false => false => FALSE
if true => true => TRUE
if 0 => true => TRUE
if ‘0’ => true => TRUE
if [] => true => TRUE
if 文 => 解釈 =>評価 => 結果
if false == ‘0’
=> false.==(‘0’) => false => FALSE
if nil == false
=> nil.==(false)
=> false => FALSE
の場合は……
ture => TRUE
false => FALSE
cast to bool
PHP’s Conditional Branches
if 文 => 解釈=>評価 => 結果
if(false)=> (bool)false => false =>FALSE
if(true)=> (bool)true => true => FALSE
if(0) => (bool)0 => false => FALSE
if(‘0’)=> (bool) ‘0’ => false => FALSE
if([])=> (bool)[] => false => FALSE
if 文 => 評価 => 結果
if (‘0’ == false) => true => TRUE
if (null == false)
=> true => TRUE
PHP の ==
Ruby’s Conditional Branches
TRUE
FALSE false nil
other
ture => TRUE
false => FALSE
cast to bool
PHP’s Conditional Branches
ここまでのまとめ
• Ruby の条件分岐は nil/false か否か
• nil が特別扱い気持ち悪い(主観)
• PHP の条件分岐は bool へのキャストの結果 false か true か
• PHP には PHP なりの一貫性がある
と、いろいろ言ってきたけど これ全部前振り
本題
Ruby にも PHP の柔軟性を!
Ruby に PHP の 比較を導入
require ‘pebbles-php_cond’
incldue Pebbles
PhpCond::bool(0) # false
PhpCond::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?