• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >ruby > Ruby中的方法(函数)学习总结

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了Ruby中的方法(函数)学习总结等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

1、Ruby中方法名和变量名的命名规则一样(以小写字母开头,单词之间的分隔使用“_”,),不过可以在方法名后边带上!(重磅方法)或者?(布尔类型返回值)。

2、方法的参数请使用(),参数都是局部变量,可以为这些参数设置默认值,带“*”的参数是可选动态参数,可以传入一个或者多个,如果有普通参数,也有可选参数,可选参数要放在最后,如下边示例代码。

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
# 其他可选书籍:红楼梦 三国演义 封神演义 隋唐演义
</div>

3、方法的返回值不需要进行声明,默认情况下最后一行代码为返回值,但是若有条件判断返回的情况,需要用return声明,如下示例代码:

def late_for_work?(minutes)
  return true if minutes>=15
  false
end

late_for_work?(10)    #false
late_for_work?(15)    #true
</div>

4、重磅方法是指方法名后带“!”的方法,普通方法返回的是原对象的一个拷贝,而重磅方法返回的始终是原对象本身,如下边示例代码:

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的值已经发生改变
</div>

5、方法中可以使用别名关键字“alias”生成方法的一个拷贝,即使原方法发生了变化,别名拷贝也不会发生变化,如下示例代码:

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!
</div>

6、Ruby的方法可以一次性返回多个值,不过实质上只是表面看来是返回多个值,本质上是返回了一个数组,数组中存储多个返回值,接收时可以直接定义多个变量一次性接收,如下示例代码:

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
</div>

</div>

您可能想查找下面的文章:

相关文章

  • Ruby入门点滴-Ruby的安装
  • print不自动换行,puts会自动换行第1/2页
  • 详细解析Ruby中的变量
  • 简单谈谈Ruby的private和protected
  • Ruby on Rails中Rack中间件的基础学习教程
  • 在Ruby中处理XML和XSLT以及XPath的简单教程
  • Ruby实现二分搜索(二分查找)算法的简单示例
  • 用SparkR探索电商数据
  • Ruby的25个编程细节(技巧、实用代码段)
  • 分析Cache 在 Ruby China 里面的应用情况

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • rails创建应用程序实例
    • Ruby中使用mechanize批量下载校内网相册照片
    • 详细解析Ruby中的变量
    • Rails Routes中new、collection、member的区别浅析
    • 在Ruby中处理XML和XSLT以及XPath的简单教程
    • 快速正确的安装 Ruby, Rails 运行环境
    • Ruby中使用设计模式中的简单工厂模式和工厂方法模式
    • Rails命令行常用操作命令简明总结
    • ruby on rails 代码技巧
    • 源代码快速定位工具-qwandry使用指南

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有