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

RubyµÄself

selfÉÏÏÂÎÄ
     RubyµÄselfÓкÍJavaµÄthisÏàËÆÖ®´¦£¬µ«ÓÖ´ó²»Ïàͬ¡£JavaµÄ·½·¨¶¼ÊÇÔÚʵÀý·½·¨ÖÐÒýÓã¬ËùÒÔthisÒ»°ã¶¼ÊÇÖ¸Ïòµ±Ç°¶ÔÏóµÄ¡£¶øRubyµÄ´úÂëÖðÐÐÖ´ÐУ¬ËùÒÔÔÚ²»Í¬µÄÉÏÏÂÎÄ(context)self¾ÍÓÐÁ˲»Í¬µÄº¬Ò壬ÏÈÀ´¿´¿´³£¼ûµÄcontext self¶¼´ú±íÄÄЩ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Õâ¸öλÖÃλÓÚtop level context£¬´ú±íObjectµÄĬÈ϶ÔÏómain
p self # => main
p self.class # => Object
@self1 = self
# ÒòΪËùÓÐ×Ô¶¨ÒåÀ඼λÓÚmain contextÖ®ÖУ¬ËùÒÔÕâÊÇObjectµÄʵÀý·½·¨
# ͬʱҲ¿ÉÒÔ˵ÊÇÒ»¸öÈ«¾Ö·½·¨
def a_method
@self2 = self
p self
# => main£¬ÒòΪÓÐÁËʵÀý±äÁ¿@self1ºÍ@self2£¬ËùÒÔ´òÓ¡³öÀ´µÄ²»ÊÇmainÕâ¸ö×Ö·û
# => µ«ÈÔÈ»ÊÇmain¶ÔÏó£¬×¢Ê͵ô4£¬8Ðм´¿É¿´µ½Ð§¹û
p @self1 == @self2 # => true
end
# ÏÂÃæÊÇÒ»¸ö¹ØÓÚÀàÖв»Í¬ÉÏÏÂÎĵÄself
class Person
p self # => Person£¬´ú±íµ±Ç°Àà

def instance_method
p self # => #<Person:0xb7818fdc>£¬´ú±íµ±Ç°ÀàµÄʵÀý
end

def self.class_method
p self # => Person£¬ºÍµÚ16ÐÐÒ»Ñù´ú±íµ±Ç°ÀࣨÕâÊÇÀà·½·¨µÄcontext£©£¬ËüÃÇÊÇÏàµÈµÄ
end
end
m = Person.new
def m.hello
p self # => ´ú±ímÕâ¸öµ¥Àý¶ÔÏó
end
m.hello
    ÉÏÃæÖ»Ð´ÁËÔÚÀàÖеÄself£¬ÆäʵÔÚmoduleÒ²ÊÇÒ»ÑùµÄ¡£Í¨¹ýÉÏÃæ´úÂëÄã¿ÉÒÔ·¢ÏÖ£¬selfÒ»Ö±ÒýÓÃ×ÅËüËùÔÚλÖÃÉÏÏÂÎĵÄʵÀý/Àà¡£
    selfÏÔʽ/Òþʽ
    Äã¿ÉÒÔÏÈÊÔ×ÅÔËÐÐÏÂÃæ´úÂ룬¿´¿´ÓÐʲôÒâÍâ·¢ÉúûÓÐ
1
2
3
4
5
6
7
8
9
10
11
12
13
class Person
attr_accessor :name

def set_name(your_name)
name = your_name
end
end
m = Person.new
p m.name
m.set_name('today')
p m.name # => ²ÂÊÇʲô
    Èç¹ûÄã²ÂÊÇtoday¾Í´ó´íÌØ´íÁË£¬´ð°¸ÊÇnil£¬ÎªÊ²Ã´ÊÇnilÄØ£¬ÔÚµÚ5ÐУ¬ÎÒÃ÷Ã÷µ÷ÓõÄÊÇattr_accessorÉú³ÉµÄname=·½·¨¸³ÖµµÄ°¡£¬Äã¿ÉÒÔÔÚÇ°Ãæ¼ÓÉÏselfÊÔÊÔ£¬´úÂëÈçÄãÔ¤ÆÚµÄÒ»ÑùÖ´ÐÐÁË¡£ÔÚÕâÖÖÇé¿öÏÂname = your_name²¢Ã»ÓÐÈ¥µ÷ÓÃattr_accessorÉú³ÉµÄxx=·½·¨£¬¶øÊǽ«nameµ±×÷ÁËÒ»¸ö¾Ö²¿±äÁ¿£¬Èç¹ûÏÔʽµÄÖ¸¶¨self£¬¾ÍûÓÐÎÊÌâÁ


Ïà¹ØÎĵµ£º

21±¾¾­µäruby railsµç×ÓÊé


Beginning Ruby from Novice To Perfessional

Head First Rails

Agile Web Development with Rails 3rd Edition(new)

Agile Web Development with Rails 3rd Edition

Agile Web Development with Rails 3rd Editio ......

phpRPC + Ruby + Arduino = Ô¶³Ì¿ØÖÆ

phpRPC + Ruby + Arduino = 遠³Ì¿ØÖÆLED開關(?)
àÅ£¬ÎÒÖªµÀ這ÊÇ個ºÜ無ÁĵÄSample :P
關ì¶phpRPC與Arduino請×ÔÐÐGoogle
觀¿´´Ëdemo֮ǰ請ÏȰ²裝ÁíÍâһƪËùÌáµ½µÄserialport
與ÁíÍâÒ»個Gem
Ì×¼þ£ºphprpc
ÔÚ這個ļ ......

²ËÄñºÍRMXPºÍRubyÓïÑÔ

      ϲ»¶Íæ°¢ÔÂϵÁÐRPGÓÎÏ·µÄÎÒ£¬¸ú²»ÉÙͯЬһÑùÏÂÁËRPGMakerXPÀ´Õ°Ñöһϡ£µ±Ê±¾õµÃÕâ¸öÈí¼þÌ«·½±ãÁË£¬ÓÃÊó±êËæ±ãµãµã¾ÍÄÜŪ³öÀ´¸öÓÐȤµÄСÓÎÏ·¡£ÒòΪÀïÃæ²»½ö×Ô´ø²»ÉÙµØÍ¼ºÍÈËÎïÐÐ×ßͼµÈËØ²Ä£¬ÈÝÒ×ÉÏÊֵIJÙ×÷·½Ê½Ò²ÈÃ×Ô¼º´óÓгɾ͸Ѕ…¿ÉÊÇÓÎÏ·±Ï¾¹ÊÇÀë²»¿ª±à³Ì£¬½â¿ªÓÎÏ·°ü£¬¿´ ......

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

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

RubyºÍPythonµÄÓï·¨±È½Ï


RubyºÍPythonµÄÓï·¨±È½Ï
 
 
 
ÆäʵRubyºÍPython·Ç³£½Ó½ü£¬±È´ó¶àÊý±ðµÄÓïÑÔÒª½Ó½üµÄ¶à£¬ËùÒÔϲ»¶ÓÃɶ¾ÍÓÃɶ£¨´óʵ»°£¬ËäȻҲÊÇ·Ï»°£©¡£Óï·¨ÉϵIJî±ðËäÈ»ÓÐÄÇôһµã£¬´ó²¿·ÖÊÇsyntax sugar£¬ÎÒ¶·µ¨ÉÔ΢Áм¸¸ö£¨pythonÎÒÒ²ÍüµÃ²î²»¶àÁË£¬²»¶ÔµÄ´ó¼Ò¾¡¹ÜÀ´±Þʬ°É£©£¬µ«ÊÇÖ÷Òª²îÒ컹ÊÇÉè¼ÆË¼ÏëÉϵģºÁé»î ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ