Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

дµÄÒ»¸öinterÀàÄ£·ÂrubyÕûÊýµÄÐÐΪ

ÎÒÃÇÖªµÀrubyÖжÔÓÚÕûÊýµÄ[],[]=,<<,>>²Ù×÷ÊÇÕë¶ÔÓÚ¶þ½øÖƵÄÖµÀ´ÔËËãµÄ¡£
ÎÒÏÖÔÚдһ¸öÕë¶ÔÊ®½øÖÆÊý²Ù×÷µÄÀ࣬ӵÓÐÕûÊýµÄËùÓз½·¨£¬ÈçÏÂ:
class InterEx
def initialize(val=0)
@val=val
end

def to_s
@val.to_s
end

def [](idx)
self.to_s[idx].to_i
end

def []=(idx,val)
s=self.to_s
s[idx] = val.to_s
@val=s.to_i
end

def coerce(other)
[other,@val]
end

def <<(v)
return InterEx.new(@val) if v==0
InterEx.new(@val*10**v)
end

def >>(v)
return InterEx.new(@val) if v==0
s=self.to_s
s=s[0..(-1*v-1)]
InterEx.new(s.to_i)
end

def method_missing(mtd,*args)
InterEx.new(@val.send mtd,*args)
end

end
ruby»¹ÌṩÁËdelegate»úÖÆ±ãÓÚ´úÀíÒ»¸öÀ࣬±ÈÈçÒªÏë´úÀíFixnumÀ࣬
¿ÉÒÔÕâôд:
require 'delegate'
class InterEx<DelegateClass(Fixnum)
...
end



Ïà¹ØÎĵµ£º

ѧrubyÓиÐ(by Íõå«)

    ѧÁËÒ»¸öѧÆÚµÄCÓïÑÔ£¬¿´ÁËÒ»¸öÐÇÆÚµÄruby£¬ÎҲŷ¢ÏÖΪʲôÀÏʦ˵CÊÇ×î»ù´¡µÄ£¬¼ÙÈçûÓÐÒ»¸öѧÆÚµÄC»ù´¡£¬ÄÇrubyÎÒÒ²²»Óÿ´ÁË¡£
        RubyºÍCÓïÑÔÓÐÐí¶àµÄÏàͬµãºÍ²»Í¬µã£¬ÔÚѧϰrubyʱ£¬ÓÐʱ¿ÉÒÔÓÃCÀïÃæµÄ˼άÀ´Àí½â£¬¾ÍÏñrubyÀïÃæµÄ·½·¨Æäʵ¾Í¸úCµÄº¯ÊýÈç³öÒ» ......

Ruby ³ÌÐòÔ±µÄÖ¿ÓÑ

ÀúÊ·±³¾°£Û1£Ý
µ®ÉúÓÚ1993Äê2ÔÂ24ÈÕµÄRuby(ºì±¦Ê¯)£¬ÓÉÈÕ±¾ÈËËɱ¾Ðк루Yuki Matsumoto£©ÓÚ1994Äê12Ô·¢²¼¡£ Ruby ×÷ΪһÖÖ´¿ÃæÏò¶ÔÏóµÄ½Å±¾³ÌÐòÉè¼ÆÓïÑÔ£¬ÎüÊÕÁËSmalltalkºÍPerlÁ½ÖÖ³ÌÐòÓïÑÔµÄÌØÐÔ¡£
RubyÀíÄî£Û2£Ý
1.Ê×ÏÈ¿¼ÂǵÄÊÇ£¬¼õÉÙ±à³Ìʱ²»±ØÒªµÄËöËéʱ¼ä£¬Áî±àд³ÌÐòµÄÈ˸ßÐË£»
2.Æä´ÎÊÇÁ¼ºÃµÄ½çÃæÉè¼Æ£»
3.Ç¿ ......

ÁùÖÖÓÃrubyµ÷ÓÃÖ´ÐÐshellÃüÁîµÄ·½·¨

ÁùÖÖÓÃrubyµ÷ÓÃÖ´ÐÐshellÃüÁîµÄ·½·¨
Åöµ½ÐèÒªµ÷ÓòÙ×÷ϵͳshellÃüÁîµÄʱºò£¬RubyΪÎÒÃÇÌṩÁËÁùÖÖÍê³ÉÈÎÎñµÄ·½·¨£º
1.Exec·½·¨:
    Kernel#exec·½·¨Í¨¹ýµ÷ÓÃÖ¸¶¨µÄÃüÁîÈ¡´úµ±Ç°½ø³Ì£º
  Àý×Ó£º
      $ irb
      >> exec 'echo " ......

rubyºÃÏñÓÐÖ¸Õë°¡£¡£¡£¡

b = "123"
a = b
b.gsub!(/2/,"")
puts a
µÃµ½µÄ½á¹ûÊÇ13£¬·¢ÏÖÈç¹ûa = bµÄ»°Ã²ËÆÖ»ÊǰÑbµÄÖ¸Õë¸øÁËa£¬µ«ÊÇÈç¹ûbµÄÖµ·¢ÉúÁ˱仯a²ÅÄÜ´ÓbÖжÀÁ¢³öÀ´¡£
Èç¹û°ÑÉÏÃæµÄ´úÂë¸Ä³É
b = "123"
a = "#{b}"
b.gsub!(/2/,"")
puts a
ÔòµÃµ½µÄ½á¹ûΪ123£¬ÕâÀïÊǰÑbµÄÖµ¸øÁ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ