濮阳杆衣贸易有限公司

主頁 > 知識庫 > Ruby中變量引用時的一些注意點

Ruby中變量引用時的一些注意點

熱門標簽:徐州網(wǎng)絡(luò)外呼系統(tǒng)哪個好 地圖標注賺錢項目注冊 白銀外呼paas系統(tǒng) 百度地圖標注自定義圖片 電銷機器人廠商代理 滴滴外呼系統(tǒng) 湖州u友防封電銷卡 常德電銷平臺外呼系統(tǒng)軟件價格 高德地圖標注客服

在表達式中,當(dāng)Ruby看到像a這樣的名字時,它需要判斷a是一個局部變量引用還是對沒有參數(shù)的方法a的調(diào)用。Ruby使用一種啟發(fā)式的方法來判斷這種情況。當(dāng)Ruby解析源代碼文件時,它會記錄所有已經(jīng)被賦值的符號。它認為這些符號是變量。以后當(dāng)遇到一個既可以是變量又可以是方法調(diào)用的符號時,Ruby會檢查是否已經(jīng)對該符號進行了賦值。如果是,那么把該符號當(dāng)作變量,否則當(dāng)作方法調(diào)用。下面是描述這種情況的一個人為設(shè)計的例子。
 

def a
  print "Funciton 'a' called\n"
  99
end
 
for i in 1..2
  if i ==2
   print "a=",a,"\n"
  else
   a=1
   print "a=",a,"\n"
  end
end

  輸出結(jié)果:

a=1
Function 'a' called
a=99

  當(dāng)解析的時候,Ruby看到第一個print語句使用了a,并且由于還沒有遇到對a的任意賦值語句,所以把它當(dāng)作方法調(diào)用。但是當(dāng)解析到第二個print語句時,由于Ruby遇到了對a的一個賦值語句,所以把它當(dāng)作變量

  注意賦值語句不一定被執(zhí)行--只要Ruby看到它了就可以。下面的程序不會導(dǎo)致錯誤

a=1 if false;a

您可能感興趣的文章:
  • Ruby基本的環(huán)境變量設(shè)置以及常用解釋器命令介紹
  • Ruby中類變量和實例變量的比較
  • 詳細解析Ruby中的變量
  • Ruby 中$開頭的全局變量、內(nèi)部變量、隱藏變量介紹
  • ruby 局部變量
  • ruby 實變量
  • 深入分析Ruby 變量

標簽:三沙 永州 遼寧 普洱 公主嶺 荊門 張家界 梧州

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Ruby中變量引用時的一些注意點》,本文關(guān)鍵詞  Ruby,中,變量,引,用時,的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ruby中變量引用時的一些注意點》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ruby中變量引用時的一些注意點的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    建瓯市| 永泰县| 旅游| 广东省| 奉节县| 资兴市| 安吉县| 堆龙德庆县| 祁连县| 招远市| 积石山| 蕲春县| 都匀市| 许昌县| 东丽区| 招远市| 榆社县| 武隆县| 合山市| 萨迦县| 犍为县| 砚山县| 太保市| 奉化市| 余姚市| 安泽县| 福鼎市| 建德市| 鄂托克前旗| 固镇县| 阳城县| 莎车县| 中山市| 乐陵市| 奈曼旗| 宣汉县| 区。| 平山县| 铜陵市| 东方市| 改则县|