Changeset 935

Show
Ignore:
Timestamp:
Mon Mar 20 17:49:59 2006
Author:
limodou
Message:

更新

Files:

Legend:

Unmodified
Added
Removed
Modified
  • zh-translations/branches/diveintopython-zh-5.4/zh-cn/xml/plural.xml

    r920 r935  
    475 475 <calloutlist>  
    476 476 <callout arearefs="plural.stage6.2.1">  
    477   <para><function>make_counter</function> 中出现关键字 &yield; 意味着这不是一个普通的函数。它是一种每次生成一个值的特殊函数。 你可以把它看成是一个恢复函数。每次调用都返回一个可以成功生成 <varname>x</varname> 值的生成器。 </para>  
      477 <para><function>make_counter</function> 中出现关键字 &yield; 意味着这不是一个普通的函数。它是一种每次生成一个值的特殊函数。 你可以把它看成是一个可恢复函数。调用它会返回一个生成器,它可以返回 <varname>x</varname> 的连续。 </para>  
    477 477 </callout>  
    478 478 <callout arearefs="plural.stage6.2.2">  
    479   <para>建立一个 <function>make_counter</function> 生成器的实例,并像调用任何其他函数一样调用之。 注意这并没有真正的执行函数代码。 <function>make_counter</function> 第一行的 &print; 语句是一个语句,但是没有任何内容被打印就可以说明这一点。</para>  
      479 <para>想要创建一个 <function>make_counter</function> 生成器的实例,只要象其它函数一样调用。 注意这并没有真正的执行函数代码。 你可以分辨出这一点,因为 <function>make_counter</function> 的第一行是 &print; 语句,然而没有任何内容输出。</para>  
    479 479 </callout>  
    480 480 <callout arearefs="plural.stage6.2.3">  
    484 484 </callout>  
    485 485 <callout arearefs="plural.stage6.2.4">  
    486   <para>你第一次调用生成器对象的 <function>next()</function> 方法,<function>make_counter</function> 中的代码执行到第一个 &yield; 语句,然后返回制造出来的值。 依此而言,这个值是 <literal>2</literal>,因为你是通过  <function>make_counter(2)</function> 创建生成器的。</para>  
      486 <para>你第一次调用生成器对象的 <function>next()</function> 方法,将执行 <function>make_counter</function> 中的代码执行到第一个 &yield; 语句,然后返回生产(yield)出来的值。 在本例中,这个值是 <literal>2</literal>,因为你是通过  <function>make_counter(2)</function> 来创建最初的生成器的。</para>  
    486 486 </callout>  
    487 487 <callout arearefs="plural.stage6.2.5">  
    488   <para>不断调用生成器对象的 <function>next()</function> <emphasis>将从你上次离开的位置重新开始</emphasis> 并继续下去直到你又一次遇到 &yield; 语句。 接下来将被执行的是 &print; 语句以打印出 <literal>incrementing x</literal>,然后 <literal>x = x + 1</literal> 语句实际的增加了它。 然后你进入 &while; 循环的又一轮循环,你所做的第一件事是 <literal>yield x</literal>。返回目前的 <varname>x</varname> 值(现在是3)。</para>  
      488 <para>不断调用生成器对象的 <function>next()</function> <emphasis>将从你上次离开的位置重新开始</emphasis> 并继续下去直到你又一次遇到 &yield; 语句。 接下来执行 &print; 语句来打印 <literal>incrementing x</literal>,然后执行 <literal>x = x + 1</literal> 语句来真正地增加。 然后你进入 &while; 的又一次循环,你所做的第一件事是 <literal>yield x</literal>。返回目前的 <varname>x</varname> 值(现在是3)。</para>  
    488 488 </callout>  
    489 489 <callout arearefs="plural.stage6.2.6">