<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>p0p3</title>
    <link>https://ruby-china.org/p0p3</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>关于 popen - 的问题，求助好心人啊</title>
      <description>&lt;p&gt;pipe = IO.popen("-","w+")
if pipe
  pipe.puts "Get a job!"
  $stderr.puts "Child says '#{pipe.gets.chomp}'"
else
  $stderr.puts "Dad says '#{gets.chomp}'"
  puts "OK"
end&lt;/p&gt;

&lt;p&gt;输出：
Dad says 'Get a job!'
Child says 'OK'&lt;/p&gt;

&lt;p&gt;子进程和父进程的输出互换了，好心人帮忙解释下产生这种情况具体的实现过程是怎样的啊&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Tue, 10 Sep 2013 22:19:49 +0800</pubDate>
      <link>https://ruby-china.org/topics/14019</link>
      <guid>https://ruby-china.org/topics/14019</guid>
    </item>
    <item>
      <title>请问模块级散列表的含义啊</title>
      <description>&lt;p&gt;在 programming ruby 书中介绍，为了保证模块中的实例变量具有唯一的名字，可以使用模块一级的散列表，以当前对象的 ID 作为索引，来保存实例的数据&lt;/p&gt;

&lt;p&gt;module Test&lt;br&gt;
  State = {}&lt;br&gt;
  def state=(value)&lt;br&gt;
    State[object_id] = value&lt;br&gt;
  end  &lt;/p&gt;

&lt;p&gt;def state&lt;br&gt;
    State[object_id]&lt;br&gt;
  end&lt;br&gt;
end  &lt;/p&gt;

&lt;p&gt;请问下模块一级的散列表，开头为大写，还有人具体讲解下模块一级的散列表的含义啊&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Mon, 08 Jul 2013 15:54:39 +0800</pubDate>
      <link>https://ruby-china.org/topics/12348</link>
      <guid>https://ruby-china.org/topics/12348</guid>
    </item>
    <item>
      <title>再请问个 caller 的问题</title>
      <description>&lt;p&gt;programming ruby 中&lt;/p&gt;

&lt;p&gt;raise ArgumentError,"Name too big",caller
上述这个例子从栈回溯信息中删除当前函数，这在程序库模块中十分有用。可以更进一步：下面的代码通过只将调用栈的子集传递给新异常，从而达到从栈回溯信息中删除两个函数的目的
raise ArgumentError,"Name too big",caller[1..-1]&lt;/p&gt;

&lt;p&gt;想问下，从栈回溯信息中删除当前函数，在程序库模块中有什么用啊&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Tue, 02 Jul 2013 15:55:28 +0800</pubDate>
      <link>https://ruby-china.org/topics/12187</link>
      <guid>https://ruby-china.org/topics/12187</guid>
    </item>
    <item>
      <title>还有高手给详细的解释下 caller [1..-1] 啊</title>
      <description>&lt;p&gt;就是 caller（range）具体返回什么&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Fri, 28 Jun 2013 16:03:54 +0800</pubDate>
      <link>https://ruby-china.org/topics/12072</link>
      <guid>https://ruby-china.org/topics/12072</guid>
    </item>
    <item>
      <title>问大家一个 programming ruby 第二版第三章的一个问题</title>
      <description>&lt;p&gt;第三章中为了说明使用 super 来调用父类中的方法，举了一个例子&lt;/p&gt;

&lt;p&gt;“我们正确地显示了&lt;a href="/lyrics" class="user-mention" title="@lyrics"&gt;&lt;i&gt;@&lt;/i&gt;lyrics&lt;/a&gt; 这个实例变量，但是这样做直接在子类里访问了父类的实例变量，为什么这样实现 to_s 方法不好呢？答案与良好的编程风格有关，会使得我们和父类的实现紧密的绑在一起。假如我们决定修改 Song 类以毫秒保存时长。突然间，KaraokeSong 开始报告非常荒谬的时长。“My Way”的卡拉 ok 版本有 3750 分钟长，这想法太恐怖了”&lt;/p&gt;

&lt;p&gt;这个例子是不是举的不太合适啊，使用 super 调用父类的方法，如果修改 Song 类以毫秒保存时长，还不是一样会显示 3750 分钟&lt;/p&gt;

&lt;p&gt;高人解释一下啊&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Sat, 11 May 2013 16:37:18 +0800</pubDate>
      <link>https://ruby-china.org/topics/10902</link>
      <guid>https://ruby-china.org/topics/10902</guid>
    </item>
    <item>
      <title>求购 Programming Ruby 第二版 中文版 </title>
      <description>&lt;p&gt;看电子的累，有原版的同志还有转让的啊&lt;/p&gt;</description>
      <author>p0p3</author>
      <pubDate>Fri, 03 May 2013 15:38:50 +0800</pubDate>
      <link>https://ruby-china.org/topics/10684</link>
      <guid>https://ruby-china.org/topics/10684</guid>
    </item>
  </channel>
</rss>
