ruby中的return ( the 'return' keyword in Ruby)
访问量: 3379
Ruby中的 return 还是有些学问的,平时用着看不出来,但是真到见真章的时候就考验功夫了:
1. eval 中不能出现 return ,否则会报错 (LocalJumpError)
2. Proc.new 中不能出现return, 出错也是 LocalJumpError
3. lambda中可以return . 在caller method中之后继续执行
4. 总则: 在ruby的某个方法中:如果最后一句不写return, 那么也默认return 它。
examples: def give_me # return "your money" "your money" end eval "1+1" #=> 2 eval "a = 1+1; return a" # => LocalJumpErrorsee also: http://siwei.me/blog/posts/lambda-v-s-proc-new