av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

幾種Rubyself應(yīng)用方法介紹

Ruby語言通常被人們理解為是一種解釋型腳本語言。在對Ruby語言的學(xué)習(xí)中,我們需要不斷的從編碼實(shí)踐中去總結(jié)經(jīng)驗(yàn),幫助我們提高編程能力。#t#

Ruby self在不同的環(huán)境中有不同的含義,這點(diǎn)和java的this不同,原因是java實(shí)際上只有一種環(huán)境--在class的實(shí)例方法定義中使用,代表訪問這個方法參數(shù)自動傳進(jìn)的那個對象。

而由于ruby作為一個完全純凈的面向?qū)ο笳Z言,任何東東都是對象,方法是對象,類也是對象...,所以Ruby self就會有很多環(huán)境,區(qū)分不同環(huán)境的self含義才能更好的理解程序的含義。

一、Top Level Context

puts self

打印出main,這個代表Object的默認(rèn)對象main.

二、在class或module的定義中:

在class和module的定義中,self代表這個class或這module對象:

 
 
 
  1. class S 
  2. puts 'Just started class S' 
  3. puts self 
  4. module M 
  5. puts 'Nested module S::M' 
  6. puts self 
  7. end 
  8. puts 'Back in the 
    outer level of S' 
  9. puts self 
  10. end 

輸出結(jié)果:

 
 
 
  1. >ruby self1.rb 
  2. Just started class S 
  3. Nested module S::M 
  4. S::M 
  5. Back in the outer level of S 
  6. >Exit code: 0 

三、在實(shí)例的方法定義中:

這點(diǎn)和java的this代表的東東一樣:程序自動傳遞的調(diào)用這個方法的對象

 
 
 
  1. class S 
  2. def m 
  3. puts 'Class S method m:' 
  4. puts self 
  5. end 
  6. end 
  7. s = S.new 
  8. s.m 

運(yùn)行結(jié)果:

 
 
 
  1. >ruby self2.rb 
  2. Class S method m: 
  3. # 
  4. >Exit code: 0 

四、在單例方法或者類方法中:

單例Ruby self方法是針對一個對象添加的方法,只有這個對象擁有和訪問這個方法,這時候self是擁有這個方法的對象:

 
 
 
  1. # self3.rb 
  2. obj = Object.new 
  3. def obj.show 
  4. print 'I am an object: ' 
  5. puts "here's self inside a 
    singleton method of mine:" 
  6. puts self 
  7. end 
  8. obj.show 
  9. print 'And inspecting obj 
    from outside, ' 
  10. puts "to be sure it's the
     same object:" 
  11. puts obj 

運(yùn)行結(jié)果:

 
 
 
  1. ruby self3.rb 
  2. I am an object: here's self 
    inside a singleton method of mine: 
  3. # 
  4. And inspecting obj from outside,
     to be sure it's the same object: 
  5. # 
  6. >Exit code: 0 

在類方法中Ruby self代表這個類對象:

 
 
 
  1. # self4.rb 
  2. class S 
  3. def S.x 
  4. puts "Class method 
    of class S" 
  5. puts self 
  6. end 
  7. end 
  8. S.x 

運(yùn)行結(jié)果:

 
 
 
  1. >ruby self4.rb 
  2. Class method of class S 
  3. >Exit code: 0 

從上面的例子我們可以看出不管是Ruby self還是java的this都表示在當(dāng)前的環(huán)境下你可以訪問的當(dāng)前的或者默認(rèn)的對象。


當(dāng)前名稱:幾種Rubyself應(yīng)用方法介紹
文章網(wǎng)址:http://uogjgqi.cn/article/cdcdepd.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流