主頁 > 知識庫 > Ruby中變量引用時(shí)的一些注意點(diǎn)

Ruby中變量引用時(shí)的一些注意點(diǎn)

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

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

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

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

a=1 if false;a

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Ruby中變量引用時(shí)的一些注意點(diǎn)》,本文關(guān)鍵詞  Ruby,中,變量,引,用時(shí),的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Ruby中變量引用時(shí)的一些注意點(diǎn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于Ruby中變量引用時(shí)的一些注意點(diǎn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章