<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>colinxt (Yuli)</title>
    <link>https://ruby-china.org/colinxt</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>puts $! 是什么东西？</title>
      <description>&lt;p&gt;其实有两个问题啦~&lt;/p&gt;

&lt;p&gt;第一个是&lt;code&gt;puts $!&lt;/code&gt;&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;CSV&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_txt_data_gmail.csv"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'w'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;csv&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
  &lt;span class="n"&gt;csv&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="sx"&gt;%w(date body)&lt;/span&gt;
  &lt;span class="n"&gt;emails&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;each&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;
    &lt;span class="k"&gt;begin&lt;/span&gt;        
      &lt;span class="n"&gt;write_row&lt;/span&gt; &lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;csv&lt;/span&gt;
    &lt;span class="k"&gt;rescue&lt;/span&gt;
      &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="s2"&gt;"Cannot write this mail -&amp;gt; &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;from&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; to &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt; with subject: &lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;mail&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;subject&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
      &lt;span class="nb"&gt;puts&lt;/span&gt; &lt;span class="vg"&gt;$!&lt;/span&gt;  &lt;span class="c1"&gt;#就是这个，到底输出啥？&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;第二个是 ruby 正则问题，那个&lt;code&gt;\b&lt;/code&gt;有什么用？google 说跟 word boundary 有关，可是啥是 word boundary？？&lt;/p&gt;

&lt;p&gt;谢谢各位先~&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Fri, 02 Aug 2013 13:55:58 +0800</pubDate>
      <link>https://ruby-china.org/topics/13006</link>
      <guid>https://ruby-china.org/topics/13006</guid>
    </item>
    <item>
      <title>两个小问题，singleton method 和奇怪的符号</title>
      <description>&lt;p&gt;第一个是 singleton method，就是 instance 独有的方法。我不太明白这种方法有什么用，既然一个 instance 是属于一个 class，那么他的方法肯定是 class 里有的。如果这个 instance 比较特别，需要非 class 里面的方法，那么是不是应该考虑继承一下？&lt;/p&gt;

&lt;p&gt;第二个问题是符号：
看到这段：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;A&lt;/span&gt;
  &lt;span class="k"&gt;class&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&amp;lt;&lt;/span&gt; &lt;span class="nb"&gt;self&lt;/span&gt;
    &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;f&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;...&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;...&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;不太明白那两个&lt;code&gt;&amp;lt;&amp;lt;&lt;/code&gt;是什么意思？&lt;/p&gt;

&lt;p&gt;新手问题。。囧。。谢谢指点 ~&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Sun, 14 Jul 2013 23:31:24 +0800</pubDate>
      <link>https://ruby-china.org/topics/12505</link>
      <guid>https://ruby-china.org/topics/12505</guid>
    </item>
    <item>
      <title>[已解决] 输入 rails s 出现 bad URI 和 bad request 的问题</title>
      <description>&lt;p&gt;今天尝试加点 caching 功能，commit 之后输入&lt;code&gt;rails s&lt;/code&gt;，出现一堆这种东西：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="no"&gt;H&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="no"&gt;Sites&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;rails_projects&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;myblog&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="n"&gt;rails&lt;/span&gt; &lt;span class="n"&gt;s&lt;/span&gt;
&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Booting&lt;/span&gt; &lt;span class="no"&gt;WEBrick&lt;/span&gt;
&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Rails&lt;/span&gt; &lt;span class="mf"&gt;3.2&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;13&lt;/span&gt; &lt;span class="n"&gt;application&lt;/span&gt; &lt;span class="n"&gt;starting&lt;/span&gt; &lt;span class="k"&gt;in&lt;/span&gt; &lt;span class="n"&gt;development&lt;/span&gt; &lt;span class="n"&gt;on&lt;/span&gt; &lt;span class="n"&gt;http&lt;/span&gt;&lt;span class="ss"&gt;:/&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mf"&gt;0.0&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="mi"&gt;3000&lt;/span&gt;
&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Call&lt;/span&gt; &lt;span class="n"&gt;with&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;d&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;detach&lt;/span&gt;
&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="no"&gt;Ctrl&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;C&lt;/span&gt; &lt;span class="n"&gt;to&lt;/span&gt; &lt;span class="n"&gt;shutdown&lt;/span&gt; &lt;span class="n"&gt;server&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2013&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="mo"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;09&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="no"&gt;INFO&lt;/span&gt;  &lt;span class="no"&gt;WEBrick&lt;/span&gt; &lt;span class="mf"&gt;1.3&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2013&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="mo"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;09&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="no"&gt;INFO&lt;/span&gt;  &lt;span class="n"&gt;ruby&lt;/span&gt; &lt;span class="mf"&gt;1.9&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;2012&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;02&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="n"&gt;i386&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;mingw32&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2013&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="mo"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;09&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="no"&gt;INFO&lt;/span&gt;  &lt;span class="no"&gt;WEBrick&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="no"&gt;HTTPServer&lt;/span&gt;&lt;span class="c1"&gt;#start: pid=7568 port=3&lt;/span&gt;
&lt;span class="mo"&gt;000&lt;/span&gt;
&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2013&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="mo"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="no"&gt;ERROR&lt;/span&gt; &lt;span class="n"&gt;bad&lt;/span&gt; &lt;span class="no"&gt;Request&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;Line&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="se"&gt;\x16\x03\x01\x00&lt;/span&gt;&lt;span class="sb"&gt;�&lt;/span&gt;&lt;span class="se"&gt;\x01\x&lt;/span&gt;&lt;span class="sb"&gt;
00&lt;/span&gt;&lt;span class="se"&gt;\x00&lt;/span&gt;&lt;span class="sb"&gt;�&lt;/span&gt;&lt;span class="se"&gt;\x03\x02&lt;/span&gt;&lt;span class="sb"&gt;Q���/'[����F����e~���&lt;/span&gt;&lt;span class="se"&gt;\x10&lt;/span&gt;&lt;span class="sb"&gt;'.
[2013-05-23 00:26:16] ERROR bad URI `&lt;/span&gt;&lt;span class="err"&gt;��&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;x02&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="n"&gt;j&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="no"&gt;Fhu&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;x1F&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;�$��&lt;/span&gt;
&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;x17&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;x00&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;x00H&lt;/span&gt;&lt;span class="err"&gt;�&lt;/span&gt;&lt;span class="s1"&gt;'.
[2013-05-23 00:26:16] ERROR bad URI `��t��\x16J5)3cAu\x00\x00H�'&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;

&lt;span class="nf"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2013&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mo"&gt;05&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt; &lt;span class="mo"&gt;00&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;26&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="no"&gt;ERROR&lt;/span&gt; &lt;span class="n"&gt;bad&lt;/span&gt; &lt;span class="no"&gt;Request&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="no"&gt;Line&lt;/span&gt; &lt;span class="sb"&gt;`&lt;/span&gt;&lt;span class="se"&gt;\x16\x03\x00\x00&lt;/span&gt;&lt;span class="sb"&gt;U&lt;/span&gt;&lt;span class="se"&gt;\x01\x0&lt;/span&gt;&lt;span class="sb"&gt;
0&lt;/span&gt;&lt;span class="se"&gt;\x00&lt;/span&gt;&lt;span class="sb"&gt;Q&lt;/span&gt;&lt;span class="se"&gt;\x03\x00&lt;/span&gt;&lt;span class="sb"&gt;Q�����5���P�����* ��O��&lt;/span&gt;&lt;span class="se"&gt;\v&lt;/span&gt;&lt;span class="sb"&gt;8�'.
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Chrome 提示说是 SSL Connection Error。&lt;/p&gt;

&lt;p&gt;我试了一下&lt;code&gt;reset -hard&lt;/code&gt; 到现在正在 heroku 上面正常跑的那个版本，问题依旧。&lt;/p&gt;

&lt;p&gt;然后检查了一下&lt;code&gt;development.rb&lt;/code&gt; 和&lt;code&gt;application.rb&lt;/code&gt; 但是没看到 &lt;code&gt;force_SSL&lt;/code&gt;。这一行只在&lt;code&gt;production.rb&lt;/code&gt;里有。&lt;/p&gt;

&lt;p&gt;想请教各位这是什么问题？？应该不是墙的事吧？我只是本地测试啊。&lt;/p&gt;

&lt;p&gt;谢谢先！！&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Thu, 23 May 2013 00:49:03 +0800</pubDate>
      <link>https://ruby-china.org/topics/11167</link>
      <guid>https://ruby-china.org/topics/11167</guid>
    </item>
    <item>
      <title>RACK_ENV 怎么设置啊？</title>
      <description>&lt;p&gt;在 heroku 的教程里看到说要设置 RACK_ENV 像这样：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="err"&gt;$&lt;/span&gt; &lt;span class="n"&gt;echo&lt;/span&gt; &lt;span class="s2"&gt;"RACK_ENV=development"&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;env&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;我用的是 windows，想问下怎么设置啊？然后怎么检查设置好了没呢？&lt;/p&gt;

&lt;p&gt;谢谢先！&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Sun, 19 May 2013 20:49:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/11102</link>
      <guid>https://ruby-china.org/topics/11102</guid>
    </item>
    <item>
      <title>Ruby 里面 &amp;:name 是什么意思？</title>
      <description>&lt;p&gt;看到一句这个：&lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="n"&gt;tags&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;&amp;amp;&lt;/span&gt;&lt;span class="ss"&gt;:name&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;join&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;", "&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;不太明白那个&lt;code&gt;&amp;amp;:name&lt;/code&gt;是什么意思？&lt;/p&gt;

&lt;p&gt;另外，这句里面的 map 会返回一个 string 还是一个 array？&lt;/p&gt;

&lt;p&gt;谢谢先~&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Mon, 06 May 2013 14:05:17 +0800</pubDate>
      <link>https://ruby-china.org/topics/10747</link>
      <guid>https://ruby-china.org/topics/10747</guid>
    </item>
    <item>
      <title>foo = (bar) 的意思?</title>
      <description>&lt;p&gt;经常看到别人的代码里有类似这个的：&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;foo&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;bar&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="c1"&gt;#...&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;查了一下资料，貌似说是什么赋值方法？？没看懂想请教各位。&lt;/p&gt;

&lt;p&gt;谢谢先~&lt;/p&gt;</description>
      <author>colinxt</author>
      <pubDate>Thu, 02 May 2013 15:35:14 +0800</pubDate>
      <link>https://ruby-china.org/topics/10659</link>
      <guid>https://ruby-china.org/topics/10659</guid>
    </item>
  </channel>
</rss>
