<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>kenyonduan (Duan)</title>
    <link>https://ruby-china.org/kenyonduan</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>Ruby 中的各种稀奇古怪的关键字</title>
      <description>&lt;h2 id="写在前面"&gt;写在前面&lt;/h2&gt;
&lt;p&gt;Ruby 中有很多稀奇古怪的关键字，冷不丁的看到了一下还真不记得是个什么用法。这里就把我自己碰到的记录下来，方便下次查找 😜&lt;/p&gt;
&lt;h3 id="1. _END_(END 两边分别有两个下划线)"&gt;1. _&lt;u&gt;END&lt;/u&gt;_(END 两边分别有两个下划线)&lt;/h3&gt;
&lt;p&gt;如果一个文件包含这行代码，并且标记两边没有空白字符，Ruby 解释器会在此停止对该文件的处理。所以可以在该文件的余下部分可以包含任何内容 (当然还是可以通过 IO 对象的 DATA 对其进行读取的)&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;foo&lt;/span&gt;
  &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'bar'&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="cp"&gt;__END__
puts 'balabala...'

# ruby test.rb =&amp;gt; bar
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="2. #coding: utf-8文件编码的指定"&gt;2. #coding: utf-8 文件编码的指定&lt;/h3&gt;
&lt;p&gt;告诉 Ruby 解释器该文件的编码 (或者在执行 .rb 文件的时候手动指定 ruby -E utf-8)&lt;/p&gt;
&lt;h3 id="3. _ENCODING_"&gt;3. _&lt;u&gt;ENCODING&lt;/u&gt;_&lt;/h3&gt;
&lt;p&gt;这个是一个常量，存储了当前文件的字符编码。&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# gbk.rb&lt;/span&gt;
&lt;span class="c1"&gt;# coding: GBK&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;__ENCODING__&lt;/span&gt;

&lt;span class="c1"&gt;# ruby gbk.rb =&amp;gt; GBK&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="4. 1_000_000_000 千分符"&gt;4. 1_000_000_000 千分符&lt;/h3&gt;
&lt;p&gt;1_000_000_000: 千分符 (等同于 1000000000)&lt;/p&gt;
&lt;h3 id="5. &lt;&lt;HEAR 自定义字符串分界符(需要结束)"&gt;5. &amp;lt;&amp;lt;HEAR 自定义字符串分界符 (需要结束)&lt;/h3&gt;
&lt;p&gt;自定义分界符内的全部作为字符串的内容&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt;&lt;span class="no"&gt;GROCERY_LIST&lt;/span&gt;&lt;span class="sh"&gt;
1. Salad mix.
2. Strawberries.*
def foo
    puts '这里是里面'
end
foo()
&lt;/span&gt;&lt;span class="no"&gt;GROCERY_LIST&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;foo2&lt;/span&gt;
    &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'这里是外面'&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;foo2&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb =&amp;gt; &lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;Salad&lt;/span&gt; &lt;span class="n"&gt;mix&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt; &lt;span class="no"&gt;Strawberries&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;*&lt;/span&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;foo&lt;/span&gt;
    &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'这里是里面'&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;foo&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;这里是外面&lt;/span&gt;

&lt;span class="c1"&gt;# 备注&lt;/span&gt;
&lt;span class="c1"&gt;# GROCERY_LIST 开始标示&lt;/span&gt;
&lt;span class="c1"&gt;# GROCERY_LIST 结束标示&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="6. `ls`"&gt;6. `ls`&lt;/h3&gt;
&lt;p&gt;由`` 包裹住的会被传递给 Kernel.` 方法，会将文本当做一个操作系统的 shell 命令来执行 (所以你也可以这样去调用 Kernel.`(......)，效果相同)，或者使用 system('ls') 也是可以的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# irb&lt;/span&gt;
&lt;span class="sb"&gt;`ls`&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; "rubyconf.txt\ntest.rb\n"&lt;/span&gt;
&lt;span class="no"&gt;Kernel&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;`&lt;/span&gt;&lt;span class="s1"&gt;'ls'&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; "rubyconf.txt\ntest.rb\n"&lt;/span&gt;
&lt;span class="nb"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'ls'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; rubyconf.txt  test.rb&lt;/span&gt;
&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这里捎带提一下 system、exec、`` 方法的区别，直接上代码 &lt;img title=":blush:" alt="😊" src="https://twemoji.ruby-china.com/2/svg/1f60a.svg" class="twemoji"&gt;:
######1. system&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"echo 'hello'"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'foobar'&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb =&amp;gt; &lt;/span&gt;
&lt;span class="n"&gt;hello&lt;/span&gt;
&lt;span class="n"&gt;foobar&lt;/span&gt;
&lt;span class="kp"&gt;true&lt;/span&gt;

&lt;span class="c1"&gt;########## 这里是分割线 ############&lt;/span&gt;

&lt;span class="c1"&gt;# test2.rb&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;system&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"echo0 'hello'"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'foobar'&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test2.rb =&amp;gt; &lt;/span&gt;
&lt;span class="ss"&gt;sh: echo0: &lt;/span&gt;&lt;span class="n"&gt;command&lt;/span&gt; &lt;span class="ow"&gt;not&lt;/span&gt; &lt;span class="n"&gt;found&lt;/span&gt;
&lt;span class="n"&gt;foobar&lt;/span&gt;
&lt;span class="kp"&gt;false&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;*总结:
用 system 执行终端命令，命令会被执行，命令执行成功返回 true，命令执行失败返回 false，代码会继续往下执行。&lt;/p&gt;

&lt;p&gt;######2. exec&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="nb"&gt;exec&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"echo 'hello'"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'foobar'&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb =&amp;gt; hello&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;总结:
后面的 puts 'foobar' 并没有被执行，以 exec 方法引导执行的程序启动的新进程会覆盖当前进程，而退出脚本。所以用 exec 可以执行终端命令，命令会被执行，命令执行成功后面的代码就不再继续执行了，命令执行失败，程序会报错。&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;######3. ``&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="n"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`echo 'hello'`&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s1"&gt;'foobar'&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;result&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb =&amp;gt; hello&lt;/span&gt;
&lt;span class="n"&gt;foobar&lt;/span&gt;
&lt;span class="n"&gt;hello&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;总结:
通过将系统 shell 包含在符号``之间，命令执行成功返回执行结果 ( string 对象)，命令执行失败程序会报错。&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="7. === 条件相等性操作符"&gt;7. === 条件相等性操作符&lt;/h3&gt;
&lt;p&gt;条件相等性操作符，一般用在 case 语句的目标值是否和某个 when 从句相匹配&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;case&lt;/span&gt; &lt;span class="n"&gt;some_object&lt;/span&gt;
&lt;span class="k"&gt;when&lt;/span&gt; &lt;span class="sr"&gt;/a regex/&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;when&lt;/span&gt; &lt;span class="no"&gt;String&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;when&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="c1"&gt;# 等同&lt;/span&gt;
&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="sr"&gt;/a regex/&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;some_object&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;elsif&lt;/span&gt;  &lt;span class="no"&gt;String&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;some_object&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;elsif&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="n"&gt;some_object&lt;/span&gt;
  &lt;span class="c1"&gt;# do something&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="c1"&gt;# 所以&lt;/span&gt;
&lt;span class="c1"&gt;# irb&lt;/span&gt;
&lt;span class="no"&gt;Integer&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;# =&amp;gt; true&lt;/span&gt;
&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;..&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;===&lt;/span&gt; &lt;span class="mi"&gt;5&lt;/span&gt; &lt;span class="c1"&gt;# =&amp;gt; true&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;所以可以重写该方法用来在 case 语句中决定两者是否匹配&lt;/em&gt;&lt;/p&gt;
&lt;h3 id="8. =~ 正则匹配"&gt;8. =~ 正则匹配&lt;/h3&gt;
&lt;p&gt;这个是用来匹配正则表达式的&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="s2"&gt;"aaa0"&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="sr"&gt;/\d/&lt;/span&gt;  &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="c1"&gt;# 返回起始位置，未匹配上返回 nil&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="9. &lt;=&gt; 顺序比较"&gt;9. &amp;lt;=&amp;gt; 顺序比较&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;  &lt;span class="c1"&gt;# =&amp;gt; -1&lt;/span&gt;
&lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;# =&amp;gt; 0&lt;/span&gt;
&lt;span class="mi"&gt;2&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;=&amp;gt;&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;  &lt;span class="c1"&gt;# =&amp;gt; 1&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="10. _FILE_ (Ruby 解释器正在执行的文件名称)"&gt;10. _&lt;u&gt;FILE&lt;/u&gt;_ (Ruby 解释器正在执行的文件名称)&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="kp"&gt;__FILE__&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb  =&amp;gt; test.rb&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="11. LINE (当前代码的行数(整数) 该代码属于 FILE 所代表的文件)"&gt;11. &lt;strong&gt;LINE&lt;/strong&gt; (当前代码的行数 (整数) 该代码属于 &lt;strong&gt;FILE&lt;/strong&gt; 所代表的文件)&lt;/h3&gt;&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# test.rb&lt;/span&gt;
&lt;span class="c1"&gt;# 这里是一行注释&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="kp"&gt;__LINE__&lt;/span&gt;

&lt;span class="c1"&gt;# ruby test.rb  =&amp;gt; 2&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="12. ::ARGV (常量前面加上两个冒号)"&gt;12. ::ARGV (常量前面加上两个冒号)&lt;/h3&gt;
&lt;p&gt;表示在全局域内寻找 ARGV 这个常量等同于 Object::ARGV (因为不存在针对常量的‘全局作用域’，所以常量会被定义在 Object 里)。&lt;/p&gt;

&lt;p&gt;&lt;em&gt;PS: 另外在提一下变量和常量的一个小区别：&lt;/em&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="c1"&gt;# 1. 变量: 当 Ruby 解释器看到对变量的赋值时，变量已经存在了&lt;/span&gt;
&lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt;  &lt;span class="c1"&gt;#=&amp;gt; nil&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="n"&gt;b&lt;/span&gt; &lt;span class="c1"&gt;#=&amp;gt; NameError!&lt;/span&gt;

&lt;span class="c1"&gt;# 2. 常量: 必须真正被赋值后常量才会存在&lt;/span&gt;
&lt;span class="no"&gt;A&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="no"&gt;A&lt;/span&gt;  &lt;span class="c1"&gt;#=&amp;gt; NameError!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;未完待续...😄&lt;/p&gt;</description>
      <author>kenyonduan</author>
      <pubDate>Sun, 17 May 2015 17:09:34 +0800</pubDate>
      <link>https://ruby-china.org/topics/25613</link>
      <guid>https://ruby-china.org/topics/25613</guid>
    </item>
    <item>
      <title>Shadowsocks 公共 Server</title>
      <description>&lt;p&gt;&lt;strong&gt;分享一个提供 Shadowsocks 公共 Server 的网站，需要的自取，链接在&lt;a href="https://www.shadowsocks.net/get" rel="nofollow" target="_blank" title=""&gt;这儿&lt;/a&gt;。&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;ps:由于无法确定完全性，所以我只用来 Google 查询、翻译这些，Google 这次彻底被墙了，百度又恨铁不成钢，真 TM 的艹蛋。&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;希望大家都能科学上网 &lt;img title=":smile:" alt="😄" src="https://twemoji.ruby-china.com/2/svg/1f604.svg" class="twemoji"&gt;&lt;/p&gt;</description>
      <author>kenyonduan</author>
      <pubDate>Wed, 02 Jul 2014 23:07:55 +0800</pubDate>
      <link>https://ruby-china.org/topics/20284</link>
      <guid>https://ruby-china.org/topics/20284</guid>
    </item>
    <item>
      <title>RVM 安装失败</title>
      <description>&lt;p&gt;今天在 windows 上搭建一个 vagrant 环境来做开发使用，在使用 curl -L &lt;a href="https://get.rvm.io" rel="nofollow" target="_blank"&gt;https://get.rvm.io&lt;/a&gt; | bash -s stable 命令安装 RVM 的时候出现了这个错误：&lt;/p&gt;

&lt;p&gt;% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:01:03 --:--:--     0curl: (7) Failed to connect to 2600:3c03::f03c:91ff:fedb:6957: Network is unreachable&lt;/p&gt;

&lt;p&gt;解决办法：
使用这个命令来安装就可以解决问题了
 curl -L &lt;a href="https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer" rel="nofollow" target="_blank"&gt;https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer&lt;/a&gt; | bash -s stable&lt;/p&gt;

&lt;p&gt;原帖在这里：
&lt;a href="http://itercast.com/topics/493" rel="nofollow" target="_blank"&gt;http://itercast.com/topics/493&lt;/a&gt;&lt;/p&gt;</description>
      <author>kenyonduan</author>
      <pubDate>Sun, 13 Apr 2014 12:12:06 +0800</pubDate>
      <link>https://ruby-china.org/topics/18572</link>
      <guid>https://ruby-china.org/topics/18572</guid>
    </item>
  </channel>
</rss>
