<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>afghl (飞机场的陶吉吉)</title>
    <link>https://ruby-china.org/afghl</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>有点想从 Ruby 脱坑了，我该如何规划？有点迷茫。大家能给我一点建议吗？</title>
      <description>&lt;p&gt;是这样的。我是 14 年 6 月毕业，工科，非计算机相关专业。&lt;/p&gt;

&lt;p&gt;到目前干了一年半的 web 开发。后端用的是 Ruby。&lt;/p&gt;

&lt;p&gt;现在想换工作时，我发现：1. 招 Ruby 程序员的公司一般是小公司。2. 大公司的核心业务不会用 Ruby 写。 &lt;/p&gt;

&lt;p&gt;作为一个后端工程师，我希望参与更大型的系统，解决更复杂的问题。但我觉得如果我继续用 Ruby 作为开发语言，无法达到我的目标。&lt;/p&gt;

&lt;p&gt;我应该怎样做，怎样规划呢？继续研究 Ruby，到了一定高度后，转成其他语言（如 Java），还是作为 Ruby 工程师还是可以参与大型的系统开发？&lt;/p&gt;

&lt;p&gt;我确实有点困惑，希望各位前辈能给我一点宝贵的意见，谢谢大家！！&lt;/p&gt;</description>
      <author>afghl</author>
      <pubDate>Mon, 29 Feb 2016 19:24:18 +0800</pubDate>
      <link>https://ruby-china.org/topics/29158</link>
      <guid>https://ruby-china.org/topics/29158</guid>
    </item>
    <item>
      <title>关于 Ruby 语法里，方法当变量用的问题。 </title>
      <description>&lt;p&gt;比如在 application_controller 下有&lt;code&gt;page_metadata&lt;/code&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;page_metadata&lt;/span&gt;
  &lt;span class="nb"&gt;method&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;#{&lt;/span&gt;&lt;span class="n"&gt;action_name&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_metadata"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_sym&lt;/span&gt;
  &lt;span class="nb"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;respond_to?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;

&lt;span class="n"&gt;helper_method&lt;/span&gt; &lt;span class="ss"&gt;:page_metadata&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;这时可以在页面直接把&lt;code&gt;page_metadata&lt;/code&gt;当成变量使用。
但每次用都会 run 一次这个方法。&lt;/p&gt;
&lt;h6 id="所以问题是： 如果方法有较多代码， 有什么方法可以cache住， 不多次执行呢？"&gt;所以问题是：如果方法有较多代码，有什么方法可以 cache 住，不多次执行呢？&lt;/h6&gt;
&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;page_metadata&lt;/span&gt;
  &lt;span class="vi"&gt;@metadata&lt;/span&gt; &lt;span class="o"&gt;||=&lt;/span&gt; &lt;span class="nb"&gt;lambda&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nb"&gt;method&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&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;:action&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="s2"&gt;_metadata"&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_sym&lt;/span&gt;
    &lt;span class="nb"&gt;send&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="nb"&gt;respond_to?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;method&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="kp"&gt;true&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;}.&lt;/span&gt;&lt;span class="nf"&gt;call&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;span class="n"&gt;helper_method&lt;/span&gt; &lt;span class="ss"&gt;:page_metadata&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;但看起来好像有点奇怪。比较好的做法是什么？&lt;/p&gt;</description>
      <author>afghl</author>
      <pubDate>Tue, 08 Sep 2015 12:34:38 +0800</pubDate>
      <link>https://ruby-china.org/topics/27235</link>
      <guid>https://ruby-china.org/topics/27235</guid>
    </item>
    <item>
      <title>还是一个基础问题。 有没有一个漂亮的写法实现这段代码？</title>
      <description>&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="n"&gt;preg&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;
&lt;span class="k"&gt;elsif&lt;/span&gt; &lt;span class="n"&gt;preg&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;max_right&lt;/span&gt;
    &lt;span class="n"&gt;max_right&lt;/span&gt;
&lt;span class="k"&gt;else&lt;/span&gt;
    &lt;span class="n"&gt;preg&lt;/span&gt;
&lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;简单的实现最大值最小值的方法。有点代码洁癖。谢谢大家。&lt;/p&gt;</description>
      <author>afghl</author>
      <pubDate>Tue, 01 Sep 2015 12:32:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/27145</link>
      <guid>https://ruby-china.org/topics/27145</guid>
    </item>
    <item>
      <title>大家好，问一个 Ruby 的基础问题。</title>
      <description>&lt;p&gt;实在不好意思。写 ror 已经大半年了。一些 ruby 基础的语法还有点不清楚。&lt;/p&gt;

&lt;p&gt;具体是这样的。&lt;/p&gt;

&lt;p&gt;一个项目是要生成一个图片。而图片里涉及大量的日期计算。&lt;/p&gt;

&lt;p&gt;所以我们的设计如下：&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2015/4d6db9170931be002c41315bb7619c0a.png" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2015/76b48ee2b64e42d327fd862012a55bfd.png" title="" alt=""&gt;
&lt;img src="https://l.ruby-china.com/photo/2015/ee27667194642068b877e5e19cd68d3a.png" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;简单就是 module TickerGenerator 放在 lib 下。&lt;/p&gt;

&lt;p&gt;TickerGenerator::Base include 了  TickerGenerator::DateCalc
TickerGenerator::Ttc  &amp;lt; Base&lt;/p&gt;

&lt;p&gt;但是我在 TickerGenerator::Ttc 的 initialize 时  start_date = &lt;a href="/options.date" class="user-mention" title="@options.date"&gt;&lt;i&gt;@&lt;/i&gt;options.date&lt;/a&gt;  没有给 DateCalc 的 start_date= 赋值。  &lt;/p&gt;

&lt;p&gt;高手能解答一下么？&lt;/p&gt;

&lt;p&gt;我要如何实现这个效果呢？&lt;/p&gt;</description>
      <author>afghl</author>
      <pubDate>Sat, 22 Aug 2015 20:54:12 +0800</pubDate>
      <link>https://ruby-china.org/topics/27036</link>
      <guid>https://ruby-china.org/topics/27036</guid>
    </item>
  </channel>
</rss>
