国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Ruby > 正文

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

2020-10-29 19:38:15
字體:
供稿:網(wǎng)友

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

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

  輸出結(jié)果:

a=1Function 'a' calleda=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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万宁市| 淳化县| 土默特左旗| 英山县| 玛曲县| 金川县| 海晏县| 承德市| 图片| 施甸县| 吴川市| 呼玛县| 共和县| 大宁县| 八宿县| 丹凤县| 高平市| 上高县| 炉霍县| 麻江县| 富川| 镇赉县| 鄱阳县| 民勤县| 吴旗县| 施秉县| 绍兴县| 依兰县| 虞城县| 西乌珠穆沁旗| 永川市| 平江县| 阿鲁科尔沁旗| 彝良县| 周宁县| 宁南县| 禹州市| 永福县| 南丹县| 睢宁县| 临桂县|