日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Ruby函數(shù)指針概念詳解

Ruby語言中也存在被編程人員公認(rèn)為最難理解的指針。不過在這項(xiàng)新語言中指針又有什么新的特性呢。下面我們就來看看Ruby函數(shù)指針的一些相關(guān)概念介紹。#t#

創(chuàng)新互聯(lián)建站-成都網(wǎng)站建設(shè)公司,專注網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站營銷推廣,主機(jī)域名,網(wǎng)站空間網(wǎng)站運(yùn)營有關(guān)企業(yè)網(wǎng)站制作方案、改版、費(fèi)用等問題,請(qǐng)聯(lián)系創(chuàng)新互聯(lián)建站

本人目前正在重新學(xué)一遍Ruby語言,以期能達(dá)到一定的熟練程度。看到了塊的部分,想起了C、C++、C#中無比親切的函數(shù)指針。這東西在實(shí)現(xiàn)訪問者模式時(shí)有很大用處。在《Programming Ruby》的HTML版中最后的部分有一節(jié)對(duì)訪問者模式的實(shí)現(xiàn)方法的介紹。我還沒有看到那里。這里說一下我的方法。

Ruby的塊功能只能外掛一段代碼。相比C語言家族的Ruby函數(shù)指針不是那么靈活。核心庫的Proc類可以將塊代碼封裝起來。利用它,可以將多個(gè)塊一并作為參數(shù)傳給調(diào)用函數(shù)。下面的代碼演示了一個(gè)具體的過程。visit_node方法作為一個(gè)帶兩個(gè)參數(shù)的函數(shù)和proc方法一起,被傳給traverse調(diào)用。注意最后一行是如何將visit_node和proc方法封裝成Proc對(duì)象的。

 
 
 
  1. def traverse(visit_proc, proc)  
  2. i = 0 
  3. while (i < 10)  
  4. visit_proc.call(i, i + 1)  
  5. proc.call  
  6. i += 1  
  7. end  
  8. end  
  9. def visit_node(i, j)  
  10. print("#{i}, #{j}")  
  11. puts  
  12. end  
  13. def print_sharp  
  14. puts("###################")  
  15. end  
  16. traverse(Proc.new { |i, j| 
    visit_node(i, j) }, Proc.new 
    { print_sharp }) 

 

這樣就可以達(dá)到類似于Ruby函數(shù)指針的效果了。有點(diǎn)類似于C#中的代理。


名稱欄目:Ruby函數(shù)指針概念詳解
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/dpdjhpo.html