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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Rails方法send調(diào)用參數(shù)

Rails中有許多方法值得我們在學(xué)習(xí)的過程中去深入探討。那么在這里我們將會為大家奉獻(xiàn)上有關(guān)Rails方法send的相關(guān)應(yīng)用,希望對大家有所幫助。#t#

可以使用send方法來調(diào)用參數(shù)指定的方法:

  1. name = "Fred"   
  2. puts( name.send( :reverse ) ) #=> derF   
  3. puts( name.send( :upcase ) ) #=> FRED   
  4. name = "Fred" puts( name.send
    ( :reverse ) ) #=> derF puts
    ( name.send( :upcase ) ) #=> FRED 

盡管文檔規(guī)定Rails方法send必須需要一個方法符號作為參數(shù),但是也可以直接使用一個字符串作為參數(shù),或者,為了保持一致,也可以使用to_sym進(jìn)行方法名稱進(jìn)行相應(yīng)的轉(zhuǎn)換后調(diào)用:

 
 
 
  1. name = MyString.new( gets() ) 
    # 輸入upcase   
  2. methodname = gets().chomp.to_sym
     #<= to_sym 并非必需,輸入upcase   
  3. puts name.send(methodname) #=>UPCASE   
  4. name = MyString.new( gets() ) 
    # 輸入upcase methodname = gets().chomp.to_sym 
    #<= to_sym 并非必需,輸入upcase 
    puts name.send(methodname) #=>UPCASE 

下面的這個例子顯示在運行狀態(tài)中通過Rails方法send動態(tài)地執(zhí)行指定的方法:

 
 
 
  1. class MyString < String   
  2. def initialize( aStr )   
  3. super aStr   
  4. end   
  5. def show   
  6. puts self   
  7. end   
  8. def rev   
  9. puts self.reverse   
  10. end   
  11. end   
  12. print("Enter your name: ") #<= Enter: Fred   
  13. name = MyString.new( gets() )   
  14. print("Enter a method name: " ) #<= Enter: rev   
  15. methodname = gets().chomp.to_sym   
  16. puts( name.send(methodname) ) #=> derF   
  17. class MyString < String def initialize( aStr )
     super aStr end def show puts self end def
     rev puts self.reverse end end print("Enter 
    your name: ") #<= Enter: Fred name = MyString
    .new( gets() ) print("Enter a method name: " )
     #<= Enter: rev methodname = gets().chomp.to_sym
     puts( name.send(methodname) ) #=> derF 

回憶一下上面使用define_method來創(chuàng)建Rails方法send的例子,傳遞了方法的名稱m,還為要創(chuàng)建的新方法傳遞了一個代碼塊@block


名稱欄目:Rails方法send調(diào)用參數(shù)
網(wǎng)站鏈接:http://www.dlmjj.cn/article/dpioipp.html