<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>默海飞瀑</title>
    <description></description>
    <link>http://elf.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>A implementation of delegate pattern (2)</title>
        <author>默海飞瀑</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://elf.javaeye.com">默海飞瀑</a>&nbsp;
          链接：<a href="http://elf.javaeye.com/blog/31589" style="color:red;">http://elf.javaeye.com/blog/31589</a>&nbsp;
          发表时间: 2006年10月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>Secondly,write a delegator in another way</strong><br />1.Code a class extends DelegateClass,and set a parameter that you want to use<br />2.Implementing your method initialize ,and donot forget to write super method.<br />3.Implementing your method which match to a parameter before you passed<br />4.And now,let's code<br /><pre name="code" class="ruby">require 'delegate'

class MyDelegator &lt; DelegateClass(Array)
  def initialize(array)
    super(array)
  end
  def [](*n)
    val = super(*n)
    #Add your logic here
  end
end</pre><br /><br />and now ,when u add your logic at method [](*n),the class MyDelegator willdelegate method [] of a Array ,just like this<br /><br /><pre name="code" class="ruby">
array = %w{22 33 33 44}
myDelegator = MyDelegator.new(array)
puts array[0..3]
</pre><br />It will be output the result that u changed in your logic.
          <br/>
          <span style="color:red;">
            <a href="http://elf.javaeye.com/blog/31589#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 30 Oct 2006 14:43:49 +0800</pubDate>
        <link>http://elf.javaeye.com/blog/31589</link>
        <guid>http://elf.javaeye.com/blog/31589</guid>
      </item>
      <item>
        <title>A implementation of delegate pattern (1)</title>
        <author>默海飞瀑</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://elf.javaeye.com">默海飞瀑</a>&nbsp;
          链接：<a href="http://elf.javaeye.com/blog/31586" style="color:red;">http://elf.javaeye.com/blog/31586</a>&nbsp;
          发表时间: 2006年10月30日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <strong>First of all, use SimpleDelegator class</strong><br />1.first new a class <br />2.new another class extends SimpleDelegator,and donot forget require "delegate" at top of file<br />3.in this subclass ,super(obj) should be added in end of method initialize<br />4.let's look at code<br /> <br /><pre name="code" class="ruby">require 'delegate'
class Hello
    def helloworld()
        "hello world"
    end
end
class MyDelegate &lt; SimpleDelegator
    def initialize
        @hello = Hello.new
        super(@hello)
    end
    def setObj
        __setobj__(@hello);
    end
end
hello =  MyDelegate.new
hello.setObj
puts hello.helloworld</pre><br /> <br />and then output "hello world" string
          <br/>
          <span style="color:red;">
            <a href="http://elf.javaeye.com/blog/31586#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 30 Oct 2006 14:38:34 +0800</pubDate>
        <link>http://elf.javaeye.com/blog/31586</link>
        <guid>http://elf.javaeye.com/blog/31586</guid>
      </item>
      <item>
        <title>Ruby中正则表达式的修饰符（译）</title>
        <author>默海飞瀑</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://elf.javaeye.com">默海飞瀑</a>&nbsp;
          链接：<a href="http://elf.javaeye.com/blog/31153" style="color:red;">http://elf.javaeye.com/blog/31153</a>&nbsp;
          发表时间: 2006年10月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          原文出处：<br />http://www.regular-expressions.info/ruby.html<br /><br />在Ruby中使用正则表达式<br />Ruby支持正则表达式作为其一项语言特性。在Ruby中，正则表达式被写作 /模版/修饰符 的形式，这里的"模版"就是正则表达式本身，而"修饰符"则是一系列不同选项字符的标识，另外，"修饰符"部分是可选的。这个语法特点从Perl借鉴而来。<br />Ruby支持如下的修饰符:<br />/i 使正则表达式大小写不敏感(正则表达式本身是大小写敏感的)<br />/m 使"."匹配新行。Ruby使用/m,然而Perl和其他很多编程语言使用/s来实现"点(.)匹配新行"。<br />/o 它将致使任何的 #{...}替换符在一个特殊的正则表达式中仅仅被执行一次，它在第一次会被求值。然而，如果没有用/o，替换符将会每次都执行，并且产生一个Regexp对象。<br /><br />你能同时使用如上的修饰符象这样: /rgex/is<br /><br />在Ruby中，^字符号和$符号总是匹配新行的前后。Ruby没有修饰符能够改变这个特点。使用\A 和 \Z 可以匹配在字符串的始端或者末端。<br />因为正斜杆界定了正则表达式的长度，所以任何出现在正则表达式中的正斜杆都将被除去。例如，在ruby中，正则表达式 1/2 被写做 /1\/2/ （这里隐藏了含义，即反斜杆\，通常被我们成为转义符）
          <br/>
          <span style="color:red;">
            <a href="http://elf.javaeye.com/blog/31153#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/92' target='_blank'><span style="color:red;font-weight:bold;">快来参加7月17日在成都举行的SOA中国技术论坛</span></a></li><li><a href='/adverts/106' target='_blank'><span style="color:blue;font-weight:bold;">JavaEye问答大赛开始了！ 从6月23日 至 7月6日，奖品丰厚 ！</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/97' target='_blank'><span style="color:blue;font-weight:bold;">Oracle专区上线，有Oracle最新文章，重要下载及知识库等精彩内容，欢迎访问。</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 29 Oct 2006 21:53:10 +0800</pubDate>
        <link>http://elf.javaeye.com/blog/31153</link>
        <guid>http://elf.javaeye.com/blog/31153</guid>
      </item>
  </channel>
</rss>