当生成器函数中含有return时,return不会返回任何值,会直接终止当前生成器,对yield的作用没有影响,当函数执行到return时候,调用next()来执行生成器则会报错,如果使用for循环遍历,for循环会自动捕获该异常,直接停止遍历 def func(): ): i += yield i # print(i) return i f = func() for i in f: print(i) f = func() next(f) # f.send() next(f) next(f) n
test_1.pl #/usr/bin/perl -w use strict; print add(1,2),"\n"; sub add { my ($x,$y) = @_; return $x + $y; # When Perl reaches any return statement it will exit the subroutine at that point. print "Hello World\n"; } perl test_1.pl # 3 tes
测试1: using UnityEngine; using System.Collections; public class test1 : MonoBehaviour { // Use this for initialization void Start () { Debug.Log("in start " + Time.time.ToString()); StartCoroutine(callYieldFunction()); //必须要用StartCoroutine Debug.