源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Ruby中的方法(函数)学习总结

  • 时间:2021-10-04 02:38 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Ruby中的方法(函数)学习总结
[b]1、Ruby中方法名和变量名的命名规则一样([/b]以小写字母开头,单词之间的分隔使用“_”,),不过可以在方法名后边带上!(重磅方法)或者?(布尔类型返回值)。 [b]2、方法的参数请使用(),[/b]参数都是局部变量,可以为这些参数设置默认值,带“*”的参数是可选动态参数,可以传入一个或者多个,如果有普通参数,也有可选参数,可选参数要放在最后,如下边示例代码。
[u]复制代码[/u] 代码如下:
def read_book(chinese='水浒传',english='Jane Eyre',*others)   puts "中文书籍:#{chinese},English book:#{english}"   temp=''   others.each do |o|     temp<<o<<' '   end   puts "其他可选书籍:#{temp}"   end read_book # 输出:中文书籍:水浒传,English book:Jane Eyre read_book('西游记','Rails','红楼梦','三国演义','封神演义','隋唐演义') # 输出: # 中文书籍:西游记,English book:Rails # 其他可选书籍:红楼梦 三国演义 封神演义 隋唐演义
[b]3、方法的返回值不需要进行声明,默认情况下最后一行代码为返回值[/b],但是若有条件判断返回的情况,需要用return声明,如下示例代码:
[u]复制代码[/u] 代码如下:
def late_for_work?(minutes)   return true if minutes>=15   false end late_for_work?(10)    #false late_for_work?(15)    #true
[b]4、重磅方法是指方法名后带“!”的方法,普通方法返回的是原对象的一个拷贝[/b],而重磅方法返回的始终是原对象本身,如下边示例代码:
[u]复制代码[/u] 代码如下:
x='hello' y=x.upcase puts "x:#{x},y:#{y}"   #输出:x:hello,y:HELLO   x的值未发生改变 x='hello' y=x.upcase! puts "x:#{x},y:#{y}"   #输出:x:HELLO,y:HELLO   x的值已经发生改变
[b]5、方法中可以使用别名关键字“alias”生成方法的一个拷贝[/b],即使原方法发生了变化,别名拷贝也不会发生变化,如下示例代码:
[u]复制代码[/u] 代码如下:
def show_alias   puts 'Before alias!' end alias alias_foo show_alias def show_alias   puts 'After alias!' end show_alias   #输出:After alias! alias_foo    #输出:Before alias!
[b]6、Ruby的方法可以一次性返回多个值[/b],不过实质上只是表面看来是返回多个值,本质上是返回了一个数组,数组中存储多个返回值,接收时可以直接定义多个变量一次性接收,如下示例代码:
[u]复制代码[/u] 代码如下:
def more_result_foo  x=5  y=x*x  z=y-x+2  return x,y,z  #返回x,y,z三个值 end a,b,c=more_result_foo #a,b,c接收返回的x,y,z m=more_result_foo  #m接收返回的x,y,z puts a,b,c    #输出:5 25 22 puts m     #输出:5 25 22 puts m.class   #输出:Array
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部