婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Ruby中的變量學習總結

Ruby中的變量學習總結

熱門標簽:柯城手機地圖如何做地圖標注 淮安自動外呼系統供應商 巫師3地圖標注魔力之所 天津外呼系統怎么收費 征服者企業地圖標注 AI電銷機器人 線路 漯河電銷 外呼線路從哪里出來的 中牟外呼系統違法嗎

Ruby中的變量有幾種形式,分別是局部變量、實例變量、類變量、全局變量,對于初學者來說,常常容易搞混,尤其像本人這種做java的,理解起來還是頭痛,經過仔細辨別學習,將這幾種變量的差異及使用場景總結如下:

一、命名方式

1.局部變量:小寫字母或者“_”開頭,如user,解釋器解釋到時才開始在內存中存在,一個良好的習慣是在進行變量定義時用nil進行賦值初始化,否則會出現類似undefined local variable or method `z'的錯誤;
2.實例變量:@開頭,如@user,默認初始化為nil,此處的“實例”指的是類對象本身,或者類的對象;
3.類變量:@@開頭,如@@user,需要進行初始化后才能調用,否則會出現類似uninitialized class variable @@user in Account的錯誤;
4.全局變量:$開頭,如$user,默認初始化為nil;

二、作用范圍

局部變量:如user,只作用于本類、本方法或本模塊內,不同于java語言習慣,在類中定義的變量,可以在類的方法中進行調用,Ruby中的局部變量,類中定義的,只能在類中訪問,其子類、方法、內部類中都無法調用,如下邊示例代碼:

復制代碼 代碼如下:

class Account
 user=User.new
 def myMethod
  puts user.name   #調用發生錯誤,user未定義
 end
end

實例變量:如@user,有點類似于java中POJO類的成員變量,類中隨意訪問,類外通過方法訪問,作用于本實例對象范圍內或本類的實例對象范圍內(這句話有點繞口,請注意分清楚類對象本身[Account,是Class類的一個對象]和 類實例化后的對象[Account.new,是Account類的一個對象]),這是兩個相互獨立的域,定義在Account中的變量不能在Account.new中訪問,反之亦然,如下邊示例代碼:

復制代碼 代碼如下:

class A 
  #類的類實例變量在訪問前可以賦值也可以不賦值,不賦值就是nil 
  @alpha='This is @alpha\' value!'
 
  def A.look
   puts "#@alpha" 
  end
  def look 
   puts "#@alpha" 
  end
end 

A.look        #輸出:'This is @alpha' value!''
A.new.look    #輸出:''

再看如下代碼:

復制代碼 代碼如下:

class A 
  #類的類實例變量在訪問前可以賦值也可以不賦值,不賦值就是nil 
  @alpha='This is @alpha' value!'

  def A.look
   puts "#@alpha" 
  end
  def look
   @alpha='This is @alpha\' value from look!'
   puts "#@alpha" 
  end
  def look_again 
   puts "#@alpha" 
  end
end 

A.look        #輸出:'This is @alpha' value!''
a=A.new
a.look        #輸出:'This is @alpha' value from look!'
a.look_again  #輸出:'This is @alpha' value from look!'

可見,@alpha='This is @alpha' value!'是定義在類對象本身的實例變量,@alpha='This is @alpha\' value from look!'是定義在類實例化后的對象中的實例變量,另外,使用實例變量時還應該注意一下幾點:

1、實例變量不管是在類中定義,還是在方法中定義,其都屬于類,而不是方法
2、實例變量只存在于實例范圍,不可在子類中引用或者賦值
3、實例變量永遠都是Private的,不能暴露為Public,外部訪問通過方法進行,可以使用attr_accessor簡便定義

類變量:如@@user,作用于類的所有范圍,所有實例對象共享,包括子類及其實例對象,類變量通過Protected聲明的,如下邊示例代碼:

復制代碼 代碼如下:

class A 
  #類的類實例變量在訪問前可以賦值也可以不賦值,不賦值就是nil 
  @@alpha='This is @alpha' value!'

  def A.look
   puts "#@@alpha" 
  end
  def look
   puts "#@@alpha" 
  end
  def look_again 
   puts "#@@alpha" 
  end
end 

class BA
end

A.look        #輸出:'This is @alpha' value!'
B.look        #輸出:'This is @alpha' value!'
a=A.new
a.look        #輸出:'This is @alpha' value!'
a.look_again  #輸出:'This is @alpha' value!'
b=B.new
b.look        #輸出:'This is @alpha' value!'
b.look_again  #輸出:'This is @alpha' value!'

全局變量:如$user,盡量少使用 ,作用于整個程序的生命周期,常駐內存,過量使用會引起性能下降,內存溢出,Ruby內置一些全局變量,獲取相關數據十分方便,如$0'代表的是所運行應用程序的文件名稱,‘$:'代表的是默認的文件搜索路徑;'$$'代表的是 ruby 程序的進程 id。

您可能感興趣的文章:
  • Ruby的基本語法學習總結
  • Ruby中的方法(函數)學習總結
  • 詳解Ruby中的異常

標簽:南昌 克拉瑪依 大慶 棗莊 內江 西雙版納 甘孜 河池

巨人網絡通訊聲明:本文標題《Ruby中的變量學習總結》,本文關鍵詞  Ruby,中的,變量,學習,總結,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Ruby中的變量學習總結》相關的同類信息!
  • 本頁收集關于Ruby中的變量學習總結的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    欧美日韩亚州综合| 国产精品嫩草99a| 亚洲精品一区二区三区99| 亚洲精品日韩一| 99vv1com这只有精品| 久久综合色播五月| 国产91精品一区二区| 欧美国产日韩在线观看| 国产精品亚洲一区二区三区在线 | 久久久久国产精品厨房| 久久se这里有精品| 久久久无码精品亚洲日韩按摩| 麻豆精品一区二区av白丝在线| 欧美色欧美亚洲另类二区| 亚洲成精国产精品女| 欧美日韩精品欧美日韩精品一| 亚洲午夜电影在线观看| 欧美丰满美乳xxx高潮www| 亚洲国产精品综合小说图片区| 欧美人动与zoxxxx乱| 狠狠色丁香婷婷综合久久片| 国产在线精品一区二区不卡了| 国产精品亲子伦对白| 成人一区在线看| 亚洲三级小视频| 91精品国产欧美一区二区18| 国产一区不卡在线| 亚洲免费观看高清完整版在线| 欧美日本免费一区二区三区| 精品一区二区三区蜜桃| 国产精品高潮呻吟久久| 欧美一区二区三区四区五区| 国产1区2区3区精品美女| 亚洲国产婷婷综合在线精品| 91精品国产乱| 色综合天天综合网天天狠天天| 日韩成人一区二区| 亚洲欧美在线另类| 精品成人一区二区三区四区| 日本韩国精品在线| 国产伦精品一区二区三区免费迷| 亚洲欧美另类久久久精品2019| 在线综合视频播放| av网站免费线看精品| 免费在线观看成人| 一区在线播放视频| 欧美大胆人体bbbb| 7777精品伊人久久久大香线蕉完整版| 风间由美一区二区三区在线观看| 最好看的中文字幕久久| 精品毛片乱码1区2区3区| 欧美在线视频你懂得| 成人污污视频在线观看| 美女网站色91| 日韩有码一区二区三区| 一区二区成人在线| 成人免费av在线| 激情欧美一区二区三区在线观看| 亚洲狠狠丁香婷婷综合久久久| 久久久国产午夜精品 | 国产日韩欧美在线一区| 日韩一区二区精品葵司在线| 日本二三区不卡| 91在线一区二区| 国产91对白在线观看九色| 日韩精品一二三| 亚洲高清免费视频| 亚洲国产精品一区二区尤物区| 亚洲人成伊人成综合网小说| 国产精品蜜臀av| 国产精品久久久爽爽爽麻豆色哟哟 | 国产精品久线观看视频| 久久综合色综合88| 精品国产欧美一区二区| 欧美日韩精品一区二区三区蜜桃| av爱爱亚洲一区| 97se狠狠狠综合亚洲狠狠| 国产xxx精品视频大全| 开心九九激情九九欧美日韩精美视频电影 | 高清在线成人网| 成人综合在线网站| 成人aaaa免费全部观看| 成人精品视频一区二区三区| 国产91清纯白嫩初高中在线观看| 久久se精品一区二区| 国产一区在线观看麻豆| 中文字幕第一区二区| 国产精品久久久久影院色老大 | av中文字幕一区| 91在线视频播放地址| 欧美在线色视频| 91成人免费在线视频| 欧洲人成人精品| 91精品国产一区二区人妖| 精品少妇一区二区三区免费观看| 日韩女优电影在线观看| 欧美成人性战久久| 精品久久久久一区二区国产| 国产三区在线成人av| 国产精品免费视频一区| 亚洲18女电影在线观看| 极品瑜伽女神91| 色8久久人人97超碰香蕉987| 欧美中文字幕亚洲一区二区va在线| av福利精品导航| 51午夜精品国产| 欧美极品美女视频| 一区二区三区四区亚洲| 午夜精品一区在线观看| 国内精品在线播放| 91在线码无精品| 91.成人天堂一区| 欧美理论在线播放| 欧美亚洲综合色| 久久五月婷婷丁香社区| ㊣最新国产の精品bt伙计久久| 日本欧美久久久久免费播放网| 激情都市一区二区| 白白色 亚洲乱淫| 在线观看欧美精品| 精品美女在线播放| 又紧又大又爽精品一区二区| 看电影不卡的网站| 国产福利一区二区| 日韩欧美成人激情| 亚洲午夜激情网站| 91亚洲男人天堂| 久久一区二区三区四区| 日韩精品乱码av一区二区| 国产91精品在线观看| 色就色 综合激情| 国产精品理伦片| 久久99国产精品久久99果冻传媒| 91亚洲精品久久久蜜桃| 日韩一区二区影院| 中文字幕亚洲一区二区va在线| 久久精品99国产精品| 91精品国产全国免费观看| 三级在线观看一区二区| 欧美午夜精品久久久久久超碰| 久久久99精品久久| 激情综合网av| 国产三级欧美三级| 丁香婷婷综合网| 久久亚洲二区三区| 国产.欧美.日韩| 国产精品国产三级国产aⅴ原创 | 一区2区3区在线看| 国产白丝精品91爽爽久久| 国产资源精品在线观看| 欧美嫩在线观看| 免费成人在线网站| 一区二区三区免费看视频| av不卡免费在线观看| 亚洲综合成人网| 色综合咪咪久久| 婷婷综合另类小说色区| 日本久久精品电影| 视频在线观看一区| 五月婷婷综合在线| 日本韩国欧美一区| 青青草91视频| 日韩欧美国产一区在线观看| 国产精品99久久久| 精品少妇一区二区三区视频免付费| 国产白丝精品91爽爽久久| 久久精品视频免费| 欧美性欧美巨大黑白大战| 国产精品拍天天在线| 欧美人与禽zozo性伦| 国产69精品久久777的优势| 国产精品美女久久久久久久网站| 成人丝袜视频网| 亚洲免费毛片网站| 国产亚洲欧美一级| 懂色av一区二区三区免费看| 婷婷一区二区三区| 国产午夜精品美女毛片视频| 国产成人一级电影| 日本色综合中文字幕| 精品捆绑美女sm三区| 日本久久一区二区三区| 亚洲国产日韩综合久久精品| 欧美日韩第一区日日骚| 久久91精品久久久久久秒播| 日本一区二区三区视频视频| 色综合婷婷久久| 蜜臂av日日欢夜夜爽一区| 欧美三级视频在线观看| 国产精品久久久久久久久晋中| 99精品视频一区二区| 午夜成人免费电影| 中文字幕乱码亚洲精品一区| 欧美性色综合网| 国产成人在线色| 亚洲午夜成aⅴ人片| 91超碰这里只有精品国产| 成人综合婷婷国产精品久久免费| 一区二区三区在线播放| 国产精品无圣光一区二区|