深入分析Ruby传参数

Ruby语言中的函数运用是比较简单的。不过在实际运用中同样会出现一些令人头疼的问题。比如函数传参数的问题等等。下面就让我们讨论一下Ruby传参数的相关方法。#t#

Ruby传参数代码示例:

  1. def fake_modify!(str)  
  2. strstr = str.upcase  
  3. end  
  4. def real_modify1!(str)  
  5. str[0] = 65.chr  
  6. end  
  7. def real_modify2!(str)  
  8. str.upcase!  
  9. end  
  10. str = "abcde" 
  11. puts "original :" + str  
  12. fake_modify!(str)  
  13. puts "fake_modify:" + str #abcde  
  14. real_modify1!(str)  
  15. puts "real_modify1:" + str #Abcde  
  16. real_modify2!(str)  
  17. puts "real_modify2:" + str #ABCDE 

另外做了一个Ruby传参数小测试,证明正则表达式的匹配结果$` $& $‘的临时性,虽然用的是$,却不是全局的:

 

 
 
 
  1. def test_regexp_result  
  2. "abcde" =~ /cd/  
  3. puts $` + "<<" + $& + ">>" + $' 
    #ab
    <<cd>>e  
  4. end  
  5. test_regexp_result  
  6. puts $` + "<<" + $& + ">>" + $
     #ERROR: test.rb:6: undefined
     method `+' for nil:NilClass  

 

THE END