Ruby语言中的函数运用是比较简单的。不过在实际运用中同样会出现一些令人头疼的问题。比如函数传参数的问题等等。下面就让我们讨论一下Ruby传参数的相关方法。#t#
Ruby传参数代码示例:
- def fake_modify!(str)
- strstr = str.upcase
- end
- def real_modify1!(str)
- str[0] = 65.chr
- end
- def real_modify2!(str)
- str.upcase!
- end
- str = "abcde"
- puts "original :" + str
- fake_modify!(str)
- puts "fake_modify:" + str #abcde
- real_modify1!(str)
- puts "real_modify1:" + str #Abcde
- real_modify2!(str)
- puts "real_modify2:" + str #ABCDE
另外做了一个Ruby传参数小测试,证明正则表达式的匹配结果$` $& $‘的临时性,虽然用的是$,却不是全局的:
- def test_regexp_result
- "abcde" =~ /cd/
- puts $` + "<<" + $& + ">>" + $'
#ab<<cd>>e- end
- test_regexp_result
- puts $` + "<<" + $& + ">>" + $
#ERROR: test.rb:6: undefined
method `+' for nil:NilClass