<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>edokeh</title>
    <link>https://ruby-china.org/edokeh</link>
    <description>万物天地为剑，神鬼妖邪为剑，劫波万渡，宇宙苍穹尽为剑，是为万神劫</description>
    <language>en-us</language>
    <item>
      <title>RubyChina 有 iOS 客户端了嘛？</title>
      <description>&lt;p&gt;看到 Dribbble 上有张图片，是不是只有设计图？
&lt;a href="https://dribbble.com/shots/2337358-Ruby-China-iOS-App-Topic-List" rel="nofollow" target="_blank"&gt;https://dribbble.com/shots/2337358-Ruby-China-iOS-App-Topic-List&lt;/a&gt;&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Fri, 06 Nov 2015 21:11:26 +0800</pubDate>
      <link>https://ruby-china.org/topics/27982</link>
      <guid>https://ruby-china.org/topics/27982</guid>
    </item>
    <item>
      <title>oschina 今年还会有 RubyMine 的优惠嘛？</title>
      <description>&lt;p&gt;今天打开 IDE 赫然发现还有 22 天许可就要过期了
跑到 oschina 上，发现去年那个优惠活动已经结束了，不知道今年还会不会有&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Mon, 27 Jan 2014 10:32:42 +0800</pubDate>
      <link>https://ruby-china.org/topics/17019</link>
      <guid>https://ruby-china.org/topics/17019</guid>
    </item>
    <item>
      <title>淘宝 SDK 没有 Ruby 版，感觉不会再爱了</title>
      <description>&lt;p&gt;&lt;a href="http://open.taobao.com/doc/detail.htm?id=34" rel="nofollow" target="_blank"&gt;http://open.taobao.com/doc/detail.htm?id=34&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;天啊，php/python 都有，没有 Ruby 版，github 上搜了下只找到几个废弃的项目，天啊 &lt;img title=":triumph:" alt="😤" src="https://twemoji.ruby-china.com/2/svg/1f624.svg" class="twemoji"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="/huacnlee" class="user-mention" title="@huacnlee"&gt;&lt;i&gt;@&lt;/i&gt;huacnlee&lt;/a&gt;&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Tue, 08 Oct 2013 22:06:04 +0800</pubDate>
      <link>https://ruby-china.org/topics/14594</link>
      <guid>https://ruby-china.org/topics/14594</guid>
    </item>
    <item>
      <title>用 Rails 折腾微信 API 的一点小技巧</title>
      <description>&lt;p&gt;之前用 Rails 弄过微信 API，无比轻松，几十行代码就能搭建一个简单的接口
不过要折腾得大一点的时候，发现代码组织上会比较麻烦，比如接口要实现这样的功能：如果发送 @+字符串，返回消息 A，如果发送图片，返回消息 B，发送其他文本，返回消息 C，这时候代码可能会这样&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;create&lt;/span&gt;
    &lt;span class="n"&gt;query_type&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:MsgType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;query_type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"image"&lt;/span&gt;
        &lt;span class="n"&gt;do_method_b&lt;/span&gt;
    &lt;span class="k"&gt;elsif&lt;/span&gt; &lt;span class="n"&gt;query_type&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s2"&gt;"text"&lt;/span&gt;
        &lt;span class="n"&gt;query&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:Content&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
        &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;query&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;start_with?&lt;/span&gt; &lt;span class="s2"&gt;"@"&lt;/span&gt;
            &lt;span class="n"&gt;do_method_a&lt;/span&gt;
        &lt;span class="k"&gt;else&lt;/span&gt;
            &lt;span class="n"&gt;do_method_c&lt;/span&gt;
        &lt;span class="k"&gt;end&lt;/span&gt;
    &lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;可以看到大量的逻辑堆在一个方法里面，即便用子方法切开，看起来也很乱。如果能够像 route 一样，根据请求的不同，由不同的 Controller 来处理的话，代码会清晰很多。我翻了下 route 的 API，发现还真能这样做，constraints 参数可以根据 request 的不同来决定路由&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;scope&lt;/span&gt; &lt;span class="ss"&gt;:path&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"/weixin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:via&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:post&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_a'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:MsgType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'image'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_b'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:MsgType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'text'&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:Content&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nf"&gt;start_with?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'@'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_c'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt; &lt;span class="n"&gt;request&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:xml&lt;/span&gt;&lt;span class="p"&gt;][&lt;/span&gt;&lt;span class="ss"&gt;:MsgType&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;==&lt;/span&gt; &lt;span class="s1"&gt;'text'&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这样看上去就清晰多了，如果嫌后面的 lambda 还是太繁琐，可以用一个 class 再稍微封装一下，比如我现在封装后的代码是这样&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;scope&lt;/span&gt; &lt;span class="ss"&gt;:path&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"/weixin"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:via&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="ss"&gt;:post&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt;
  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_a'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Weixin&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"image"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_b'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Weixin&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:content&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="sr"&gt;/^@/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="n"&gt;root&lt;/span&gt; &lt;span class="ss"&gt;:to&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'weixin#method_c'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:constraints&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Weixin&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;Router&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;:type&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;"text"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;共同折腾微信 API 的同志们可以参考下&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Wed, 27 Feb 2013 18:54:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/8988</link>
      <guid>https://ruby-china.org/topics/8988</guid>
    </item>
    <item>
      <title>追求优雅的代码是一条绝路？</title>
      <description>&lt;p&gt;今天在公司开瞎扯淡会，聊到最近的工作，我提到说最近发现了一些新的用法，更优雅一些，改天推广给大家，旁边一个同事插话说：追求优雅的代码，就是一条绝路啊！&lt;/p&gt;

&lt;p&gt;回来想了好久，追求优雅的代码，意义在哪里？收益在哪里？是否是浪费时间？是否值得？
元芳，你怎么看？&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Tue, 30 Oct 2012 20:53:18 +0800</pubDate>
      <link>https://ruby-china.org/topics/6416</link>
      <guid>https://ruby-china.org/topics/6416</guid>
    </item>
    <item>
      <title>cells 的陷阱</title>
      <description>&lt;p&gt;今天堆码时候发现一个奇怪的问题
我定义了一个叫做 Sidebar 的类，然后在 controller 中试图初始化类的实例，结果总是报错
&lt;code&gt;undefined method new for Sidebar:Module&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;奇怪，难道是 Sidebar 已经在哪里被定义成了 Module 了？
结果找了半天，发现原来是 cells 的问题，因为我曾经定义了一个 cells
  &lt;code&gt;rails g cell Sidebar show&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;然后 cells 这个 gem 貌似隐式地创建了 Sidebar 这个 module，所以冲突了
现在只能暂时通过改名来避免了，不知道大家有没有更好的办法？  &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Wed, 30 May 2012 17:02:02 +0800</pubDate>
      <link>https://ruby-china.org/topics/3562</link>
      <guid>https://ruby-china.org/topics/3562</guid>
    </item>
    <item>
      <title>locale yml 中的感叹号是做什么用的？</title>
      <description>&lt;p&gt;&lt;a href="https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/zh-CN.yml" rel="nofollow" target="_blank"&gt;https://github.com/svenfuchs/rails-i18n/blob/master/rails/locale/zh-CN.yml&lt;/a&gt;
比如第 34 行的那个感叹号，但是我翻看 ruby-china 源码的 locale 文件时没看到这种用法
这个感叹号是做什么用的呢？
我猜想是不是为了在 i18n 转换出错时候做静默处理的？  &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Thu, 19 Apr 2012 11:10:53 +0800</pubDate>
      <link>https://ruby-china.org/topics/2713</link>
      <guid>https://ruby-china.org/topics/2713</guid>
    </item>
    <item>
      <title>RVM 的 1.9.2-p318 没有 gcdata 补丁？</title>
      <description>&lt;p&gt;今天想试试 performance_testing，结果一直报错
仔细看了下 guides，发现要给 ruby 装上 gcdata 的补丁，文档里面说用 rvm 安装时加个参数即可，参见
&lt;a href="http://guides.rubyonrails.org/performance_testing.html#installing-gc-patched-mri" rel="nofollow" target="_blank"&gt;http://guides.rubyonrails.org/performance_testing.html#installing-gc-patched-mri&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;结果发现最新的 1.9.2-p318 缺少 gcdata，去到 github 看了下，p180,p290 都是有的，唯独 p318 缺少
&lt;a href="https://github.com/wayneeseguin/rvm/tree/master/patches/ruby/1.9.2" rel="nofollow" target="_blank"&gt;https://github.com/wayneeseguin/rvm/tree/master/patches/ruby/1.9.2&lt;/a&gt;&lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Thu, 19 Apr 2012 09:58:01 +0800</pubDate>
      <link>https://ruby-china.org/topics/2706</link>
      <guid>https://ruby-china.org/topics/2706</guid>
    </item>
    <item>
      <title>一张图片入门 Python</title>
      <description>&lt;p&gt;我们是不是也该做一张 ruby 的？&lt;/p&gt;

&lt;p&gt;&lt;img src="http://ww3.sinaimg.cn/large/413420fbgw1ds2gjz499aj.jpg" title="" alt="python入门"&gt;   &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Tue, 17 Apr 2012 14:11:37 +0800</pubDate>
      <link>https://ruby-china.org/topics/2658</link>
      <guid>https://ruby-china.org/topics/2658</guid>
    </item>
    <item>
      <title>Rack:Cache 好像没啥用嘛</title>
      <description>&lt;p&gt;前几天看 Rails 3.1 更新日志时候发现增加了 Rack:Cache，并且因此移除了原有的 page cache
我研究了一下，发现这个东西其实就是个 ruby 版 varnish 嘛，而且既然是 ruby 版的，那么性能上肯定是不如 varnish 了
对于大一点的网站，部署时前端放个 varnish 应该是家常便饭了，这时候就不需要它了
而小一点的网站，如果最前面放 nginx 之类的，这时候 Rack:Cache 的性能应该不如 nginx 处理 page cache 产生的静态文件吧？&lt;/p&gt;

&lt;p&gt;总体感觉这玩意好像在实际中没啥用，不知道我的理解对不对？  &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Tue, 17 Apr 2012 09:48:33 +0800</pubDate>
      <link>https://ruby-china.org/topics/2649</link>
      <guid>https://ruby-china.org/topics/2649</guid>
    </item>
    <item>
      <title>有多少人不喜欢 asset pipeline？</title>
      <description>&lt;p&gt;用了段时间，真心不喜欢这种开发方式
我更喜欢 js 跟 rails 分隔开，rails 就做好服务器端的事情就行了，用它来管静态资源总觉得哪里怪怪的
而且现在 js module loader 这么多，比如国内的 seajs 就挺好的，用这种纯粹的前端解决方案来管理静态资源明显顺心多了  &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Fri, 13 Apr 2012 14:27:45 +0800</pubDate>
      <link>https://ruby-china.org/topics/2576</link>
      <guid>https://ruby-china.org/topics/2576</guid>
    </item>
    <item>
      <title>《Ruby 元编程》中顶级作用域的疑惑</title>
      <description>&lt;p&gt;最近翻阅《Ruby 元编程》时偶然发现有这样一段阐述
&lt;strong&gt;“当在顶级作用域中定义方法时，这个方法会成为 Object 类实例方法”&lt;/strong&gt;
（参见 104 页）
但是我实际执行以下的 ruby 程序的时候，发现跟这段阐述不符&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;do_sth&lt;/span&gt;
  &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="s2"&gt;"done!"&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;methods&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;grep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/^do/&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;inspect&lt;/span&gt;
&lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="no"&gt;Object&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;instance_methods&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;grep&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/^do/&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;inspect&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;求大伙解惑  &lt;/p&gt;</description>
      <author>edokeh</author>
      <pubDate>Mon, 09 Apr 2012 10:42:41 +0800</pubDate>
      <link>https://ruby-china.org/topics/2479</link>
      <guid>https://ruby-china.org/topics/2479</guid>
    </item>
  </channel>
</rss>
