ruby中的respond_to和send的用法
来源:互联网 发布:汉仪菱心体简下载 mac 编辑:程序博客网 时间:2024/05/24 15:39
如果使用 respond_to? 这个方法,就可以实现判断对象能否响应给定的消息了,
这样即使obj不能响应talk,也不会使代码产生错误退出,我们也可以应用 respond_to? 方法,根据对象的属性,在程序运行时灵活的控制。
obj = Object.newif obj.respond_to?("talk")obj.talkelse puts"sorry ,object can't talk!"end
与 respond_to? 相对应,send 方法和点操作符一样,用来给对象发送消息,str.upcase ,用 send 可以写成 str.send("upcase")
不同的是send 发送的消息,在程序运行时是可变的,我们可以根据不同的输入,动态的向对象发送不同的消息。
比如一个图书管理系统,每本书都有诸如作者、出版社、日期、价钱这些,我们要根据用户的输入查询某本书的属性,如果不用send,我们要对程序的输入做一个一个的测试:
print "Search for: "request = gets.chomp if request == "writer" puts book.writerelsif request == "press" puts book.presselseif request == "date" puts book.date......
使用send就简单多了:
print "Search for"request = gets.chompif book.requend_to?(requesd)puts book.requesdelseputs "input error"end
- ruby中的respond_to和send的用法
- Ruby中 respond_to? 和 send 的用法
- Ruby中 respond_to? 和 send 的用法
- Ruby中 respond_to? 和 send 的用法
- Ruby中 respond_to? 和 send 的用法
- Ruby 之 respond_to? 和 send 的用法
- ruby respond_to? 和 send的用法
- Ruby中 respond_to? 和 send 的用法
- Ruby中 respond_to? 和 send 的用法 .
- Rails中 Send 和respond_to用法
- [Ruby笔记]11.Ruby == .equal? object .object_id .respond_to? .send()
- respond_to and send
- ruby中的send,xxx_eval方法
- Ruby on Rails 入门 ----respond_to
- Ruby on Rails 入门 ----respond_to
- Ruby中的chop和chomp用法辨析
- rails 中的respond_to 对不同的文件要求给予相应
- rails 中的respond_to 对不同的文件要求给予相应
- 中国软件开发者大会(SDCC)第一天
- svn
- VBScript 教程之数据库篇
- Spring3.X <form:form>标签数据绑定常见异常解决方法
- 利用jxl读取03版excel
- ruby中的respond_to和send的用法
- Baby Seat
- 程序员DIY真实版小机器人瓦力 人群之中寻找伊娃
- 关于Raid0访问性能的一点探讨
- 七夕在相爱人的眼中也是普通的一天 。
- 清除浮动解决方案
- Using Profile "Initialization SQL Statement - Custom" to collect sql trace
- delphi 读取 .dat文件数据
- ZOJ 1610