📄 3.3.htm
字号:
throw(:exit, n+2)
end
catch(:exit) {
puts "before throwing"
throwing(5)
puts "after throwing" # this line never be executed
} # returns 7</PRE><A name=IXT-3-127268></A><A
name=IXT-3-127269></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>chomp([</SPAN></SPAN> <A
name=IXT-3-127270></A><TT><I>rs</I></TT><SPAN
class=docPubcolor><SPAN
class=docMonofont>=$/])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Returns the value of variable <TT>$_</TT>
with the ending newline removed, assigning the result back
to <TT>$_</TT>. The value of the newline string can be
specified with <TT><I>rs</I></TT>. </P><PRE>$_ = "foo\n"
chomp # $_ => "foo"
$_ = "foo"
chomp # no chomp</PRE><A
name=IXT-3-127271></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>chomp!([</SPAN></SPAN>
<TT><I>rs</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>=$/])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Removes newline from <TT>$_</TT>, modifying
the string in place. </P><A name=IXT-3-127272></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>chop</SPAN></SPAN></SPAN>
<DD>
<P class=docList>Returns the value of <TT>$_</TT> with its
last character (one byte) removed, assigning the result back
to <TT>$_</TT>. </P><PRE>$_ = "foo\n"
chop # $_ => "foo"
$_ = "foo"
chop # $_ => "fo"</PRE><A
name=IXT-3-127273></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>chop!</SPAN></SPAN></SPAN>
<DD>
<P class=docList>Removes the last character from
<TT>$_</TT>, modifying the string in place. </P><A
name=IXT-3-127274></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>eval(</SPAN></SPAN>
<TT><I>st</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>r[,</SPAN></SPAN>
<TT><I>scope</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>[,</SPAN></SPAN> <TT><I>file</I></TT><SPAN
class=docPubcolor><SPAN class=docMonofont>,</SPAN></SPAN>
<TT><I>line</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>]])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Executes <TT><I>str</I></TT> as Ruby code.
The binding in which to perform the evaluation may be
specified with <TT><I>scope</I></TT>. The filename and line
number of the code to be compiled may be specified using
<TT><I>file</I></TT> and <TT><I>line</I></TT>. </P><A
name=IXT-3-127275></A><A name=IXT-3-127276></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>exec(</SPAN></SPAN>
<TT><I>cmd</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>[,</SPAN></SPAN> <TT><I>arg</I></TT><SPAN
class=docPubcolor><SPAN
class=docMonofont>...])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Replaces the current process by running the
command <TT><I>cmd</I></TT>. If multiple arguments are
specified, the command is executed with no shell expansion.
</P><PRE>exec "echo *" # wild card expansion
exec "echo", "*" # no wild card expansion</PRE><A
name=IXT-3-127277></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>exit([</SPAN></SPAN>
<TT><I>result</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>=0])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Exits program, with <TT><I>result</I></TT>
as the status code returned. </P><A name=IXT-3-127278></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>exit!([</SPAN></SPAN>
<TT><I>result</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>=0])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Kills the program bypassing exit handling
such as <TT>ensure</TT>, etc. </P><A name=IXT-3-127279></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>fail(...)</SPAN></SPAN></SPAN>
<DD>
<P class=docList>See <TT>raise(...)</TT></P><A
name=IXT-3-127280></A><A name=IXT-3-127281></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>Float(</SPAN></SPAN> <A
name=IXT-3-127282></A><TT><I>obj</I></TT><SPAN
class=docPubcolor><SPAN class=docMonofont>)</SPAN></SPAN>
</SPAN>
<DD>
<P class=docList>Returns <TT><I>obj</I></TT> after
converting it to a float. Numeric objects are converted
directly; <TT>nil</TT> is converted to 0.0; strings are
converted considering <TT>0x</TT>, <TT>0b</TT> radix prefix.
The rest are converted using
<TT><I>obj</I></TT><TT>.to_f</TT>. </P><PRE>Float(1) # => 1.0
Float(nil) # => 0.0
Float("1.5") # => 1.5
Float("0xaa") # => 170.0</PRE><A
name=IXT-3-127283></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>fork</SPAN></SPAN></SPAN>
<DD>
<P class=docList></P>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>fork {...}</SPAN></SPAN></SPAN>
<DD>
<P class=docList>Creates a child process. <TT>nil</TT> is
returned in the child process and the child process' ID
(integer) is returned in the parent process. If a block is
specified, it's run in the child process. </P><PRE># traditional fork
if cpid = fork
# parent process
else
# child process
exit! # child process termination
end
# fork using a block
fork {
# child process
# child terminates automatically when block finish
}</PRE><A name=IXT-3-127284></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>format(</SPAN></SPAN>
<TT><I>fmt</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>[,</SPAN></SPAN> <TT><I>arg</I></TT><SPAN
class=docPubcolor><SPAN
class=docMonofont>...])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>See <TT>sprintf</TT>. </P><A
name=IXT-3-127285></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>gets([</SPAN></SPAN>
<TT><I>rs</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>=$/])</SPAN></SPAN> </SPAN>
<DD>
<P class=docList>Reads the filename specified in the command
line or one line from standard input. The record separator
string can be specified explicitly with <TT><I>rs</I></TT>.
</P><PRE># easiest cat(1) imitation
while gets
print $_ # gets updates $_
end</PRE><A name=IXT-3-127286></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>global_variables</SPAN></SPAN></SPAN>
<DD>
<P class=docList>Returns an array of global variable names.
</P><A name=IXT-3-127287></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>gsub(</SPAN></SPAN> <TT><I>x</I></TT><SPAN
class=docPubcolor><SPAN class=docMonofont>,</SPAN></SPAN>
<TT><I>y</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>)</SPAN></SPAN> </SPAN>
<DD>
<P class=docList></P>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>gsub(</SPAN></SPAN> <TT><I>x</I></TT><SPAN
class=docPubcolor><SPAN class=docMonofont>)
{...}</SPAN></SPAN> </SPAN>
<DD>
<P class=docList><A name=IXT-3-127288></A>Replaces all
strings matching <TT><I>x</I></TT> in <TT>$_</TT> with
<TT><I>y</I></TT>. If a block is specified, matched strings
are replaced with the result of the block. The modified
result is assigned to <TT>$_</TT>. See <TT>String#gsub</TT>
in the next section. </P><A name=IXT-3-127289></A>
<DT><SPAN class=docPubcolor><SPAN class=docPubcolor><SPAN
class=docMonofont>gsub!(</SPAN></SPAN>
<TT><I>x</I></TT><SPAN class=docPubcolor><SPAN
class=docMonofont>,</SPAN></SPAN> <TT><I>y</I></TT><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -