phpのコヒーレンスとrubyの関数の比較


詳細
好奇心を満たすためだけに、確かに面白いです.
本文は主に2つの言語の機能特徴を比較した.yieldというキーワードは、両方の言語にあります.
先にrubyコードを

# ruby         
def myloop(a, b)
  while true
    print "into Coroutine(    )
" yield a, b end end num = 1 myloop(2, 3) do |aa,bb| puts "num is #{num}" num = 2 * num + aa + bb break if num > 100 end

phpコードを追加

"; //      。php     
    while (true) {
        if ( $fun-?>valid() ) {
            echo "into Coroutine(    )
"; $fun->current() ; }else { break; } $fun->next(); } }; $num = 1; myloop(2, 3, function ($a, $b) use ($num) { // while (true) { echo "num is {$num}
"; $num = 2 * $num + $a +$b ; if ($num > 100) break; yield ; } });

最終的な結果は
参照
into Coroutine
num is 1
into Coroutine
num is 7
into Coroutine
num is 19
into Coroutine
num is 43
into Coroutine
num is 91