目录 搜索
Ruby用户指南 3、开始 4、简单的例子 5、字符串 6、正则表达式 7、数组 8、回到那些简单的例子 9、流程控制 10、迭代器 11、面向对象思维 12、方法 13、类 14、继承 15、重载方法 16、访问控制 17、单态方法 18、模块 19、过程对象 20、变量 21、全局变量 22、实变量 23、局部变量 24、类常量 25、异常处理:rescue 26、异常处理:ensure 27、存取器 28、对象的初始化 29、杂项 RGSS入门教程 1、什么是RGSS 2、开始:最简单的脚本 3、数据类型:数字 4、数据类型:常量与变量 5、数据类型:字符串 6、控制语句:条件分歧语句 7、控制语句:循环 8、函数 9、对象与类 10、显示图片 11、数组 12、哈希表(关联数组) 13、类 14、数据库 15、游戏对象 16、精灵的管理 17、窗口的管理 18、活动指令 19、场景类 Programming Ruby的翻译 Programming Ruby: The Pragmatic Programmer's Guide 前言 Roadmap Ruby.new 类,对象和变量 容器Containers,块Blocks和迭代Iterators 标准类型 深入方法 表达式Expressions 异常,捕捉和抛出(已经开始,by jellen) 模块 基本输入输出 线程和进程 当遭遇挫折 Ruby和它的世界 Ruby和Web开发 Ruby Tk Ruby 和微软的 Windows 扩展Ruby Ruby语言 (by jellen) 类和对象 (by jellen) Ruby安全 反射Reflection 内建类和方法 标准库 OO设计 网络和Web库 Windows支持 内嵌文档 交互式Ruby Shell 支持 Ruby参考手册 Ruby首页 卷首语 Ruby的启动 环境变量 对象 执行 结束时的相关处理 线程 安全模型 正则表达式 字句构造 程序 变量和常数 字面值 操作符表达式 控制结构 方法调用 类/方法的定义 内部函数 内部变量 内部常数 内部类/模块/异常类 附加库 Ruby变更记录 ruby 1.6 特性 ruby 1.7 特性 Ruby术语集 Ruby的运行平台 pack模板字符串 sprintf格式 Marshal格式 Ruby FAQ Ruby的陷阱
文字

    函数的概念: 

我们把事先编好的,能够解决或者说处理某种情况的功能的集合叫做函数。不必在意概念,用得多了自然就明白。其实我们一直在使用的p,print就是函数的一种,下面介绍一个很有用的函数,随机函数rand():

rand(x)返回0-(xx-1)范围内的随机数,例如:

p rand(100) 

返回的数字在0-99范围内。

我们也可以设计自己的函数以便增加我们需要的功能,更多的时候,我们大多数时间是在跟函数打交道。

函数的声明:

函数的名字基本上和变量的名字有着相同的限制,例外的情况是,函数可以在名字的最后添加?或!符号,这种符号有着特殊的用处,以后会讲到。

函数的声明要用def..end语句,形如:
def 函数名字
语句
end

我们用rand函数来设计一个自己的函数bet():

def bet
  if rand(6)>3
     return "大"
  else
     return "小"
  end
end 
print bet
 
这里的return表示函数返回的值,如果省略return也可以,但最好带上,能够使程序可读性更好。

我们给bet函数增加参数:

def bet(x)
  if rand(x)>3
     return "大"
  else
     return "小"
  end
end 
print bet(7) 

还可以为参数设置默认值:

def bet(x=7)
  if rand(x)>3
     return "大"
  else
     return "小"
  end
end 
print bet   #这和print bet(7)一样
 
函数可以有很多参数:

def bet(x,y,z)
if rand(x)>3 and rand(y)>3 and rand(z)>3
return "大"
else
return "小"
end
end 
print bet(7,6,10)
 

重定义函数:

如果定义了两次相同的函数,则只有后面定义的函数有效,而先前的定义就无效了。

def hello
return" 您好 "
end

def hello
return" 晚安 "
end

p hello #=>" 晚安 " 
版权声明:RUBY文档中心的所有文章标明[原创]的均为本站作品,版权属RUBY中文化计划,若转载请注明;标明[翻译]的其外文版权归原作者,译文版权属RUBY中文化计划;标明[转贴]的,若原作者感到侵犯了他的著作权,那么请及时跟主持人联系,我们会尽快更正。  
上一篇: 下一篇: