📄 2.8.htm
字号:
<TT><I>conditional</I></TT> is <TT>true</TT>.</P><PRE>begin <TT><I>code</I></TT> end while <TT><I>conditional</I></TT></PRE>
<P class=docText>If a <TT>while</TT> modifier follows a
<TT>begin</TT> statement with no <TT>rescue</TT> or
<TT>ensure</TT> clauses, <TT><I>code</I></TT> is executed once
before <TT><I>conditional</I></TT> is evaluated. </P><A
name=ch02-66-fm2xml></A><A name=IXT-2-127056></A><A
name=IXT-2-127057></A><A name=IXT-2-127058></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>until Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>until <TT><I>conditional</I></TT> [do]
<TT><I>code</I></TT>
end</PRE><PRE><TT><I>code</I></TT> until<TT><I>conditional</I></TT></PRE><PRE>begin
<TT><I>code</I></TT>
end until <TT><I>conditional</I></TT></PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127057></A><A
name=IXT-2-127058></A>Executes <TT><I>code</I></TT> while
<TT><I>conditional</I></TT> is <TT>false</TT>. An
<TT>until</TT> statement's <TT><I>conditional</I></TT> is
separated from code by the reserved word <TT>do</TT>, a
newline, or a semicolon. Like <TT>while</TT>, <TT>until</TT>
can be used as statement modifier.</P>
<P class=docText>Executes<TT><I>code</I></TT> while
<TT><I>conditional</I></TT> is <TT>false</TT>.</P>
<P class=docText>If an <TT>until</TT> modifier follows a
<TT>begin</TT> statement with no <TT>rescue</TT> or
<TT>ensure</TT> clauses, <TT><I>code</I></TT> is executed once
before <TT><I>conditional</I></TT> is evaluated. </P><A
name=ch02-67-fm2xml></A><A name=IXT-2-127059></A><A
name=IXT-2-127060></A><A name=IXT-2-127061></A><A
name=IXT-2-127062></A><A name=IXT-2-127063></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>for Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>for <TT><I>variable</I></TT>[, <TT><I>variable</I></TT>...] in <TT><I>expression</I></TT> [do]
<TT><I>code</I></TT>
end</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127060></A><A
name=IXT-2-127061></A><A name=IXT-2-127062></A><A
name=IXT-2-127063></A>Executes <TT><I>code</I></TT> once for
each element in <TT><I>expression</I></TT>. Almost exactly
equivalent to: </P><PRE>expression.each do |variable[, variable...]| code end</PRE>
<P class=docText>except that a <TT>for</TT> loop doesn't
create a new scope for local variables. A <TT>for</TT> loop's
<TT><I>expression</I></TT> is separated from
<TT><I>code</I></TT> by the reserved word <TT>do</TT>, a
newline, or a semicolon. </P><A name=ch02-68-fm2xml></A><A
name=IXT-2-127064></A><A name=IXT-2-127065></A><A
name=IXT-2-127066></A><A name=IXT-2-127067></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>break Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>break</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127065></A><A
name=IXT-2-127066></A><A name=IXT-2-127067></A>Terminates a
<TT>while</TT>/<TT>until</TT> loop. Terminates a method with
an associated block if called within the block (with the
method returning <TT>nil</TT>). </P><A
name=ch02-69-fm2xml></A><A name=IXT-2-127068></A><A
name=IXT-2-127069></A><A name=IXT-2-127070></A><A
name=IXTR3-6></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>next Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>next</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127069></A><A
name=IXT-2-127070></A>Jumps to the point immediately before
the evaluation of a loop's conditional. Terminates execution
of a block if called within a block (with <TT>yield</TT> or
call returning <TT>nil</TT>).<A name=IXTR3-6></A> </P><A
name=ch02-70-fm2xml></A><A name=IXT-2-127071></A><A
name=IXT-2-127072></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>redo Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>redo</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127072></A>Jumps to the point
immediately after the evaluation of the loop's conditional.
Restarts <TT>yield</TT> or <TT>call</TT> if called within a
block. </P><A name=ch02-71-fm2xml></A><A
name=IXT-2-127073></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>retry Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>retry</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText>Repeats a call to a method with an associated
block when called from outside a <TT>rescue</TT> clause. </P>
<P class=docText>Jumps to the top of a
<TT>begin</TT>/<TT>end</TT> block if called from within a
<TT>rescue</TT> clause. </P><A name=ch02-72-fm2xml></A><A
name=IXT-2-127074></A><A name=IXT-2-127075></A><A
name=IXT-2-127076></A><A name=IXT-2-127077></A><A
name=IXT-2-127078></A><A name=IXT-2-127079></A><A
name=IXT-2-127080></A><A name=IXT-2-127081></A><A
name=IXT-2-127082></A><A name=IXT-2-127083></A><A
name=IXT-2-127084></A>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><B><I>begin Statement</I></B></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<HR align=left width=515 color=black noShade SIZE=3>
<TABLE cellPadding=5 width=515 border=0>
<TBODY>
<TR>
<TD align=left><PRE>begin
<TT><I>code</I></TT>
[rescue [<TT><I>exception_class</I></TT>[, <TT><I>exception_class</I></TT>...]] [=> <TT><I>variable</I></TT>] [then]
<TT><I>code</I></TT>]...
[else
<TT><I>code</I></TT>]
[ensure
<TT><I>code</I></TT>]
end</PRE></TD>
<TD align=right></TD></TR></TBODY></TABLE>
<P class=docText><A name=IXT-2-127075></A><A
name=IXT-2-127076></A><A name=IXT-2-127077></A>The
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -