`
mike.gao
  • 浏览: 48463 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Ruby中 respond_to? 和 send 的用法

阅读更多
   
 obj = Object.new
 if obj.respond_to?("talk")
   obj.talk
  else
    puts "Sorry, object can't talk!"
 end



      print "Search for: "
      request = gets.chomp
      if request == "writer"
      puts book.writer
      elsif request == "press"
      puts book.press
      elseif request == "date"
      puts book.date
      ......

以上方法可用send方法代替
      request = gets.chomp
      if book.respond_to?(request)
      puts book.send(request)
      else
      puts "Input error"
      end
分享到:
评论
1 楼 zhaomingyuan7 2014-12-26  
表示看不懂

相关推荐

    patch_def_ruby_Metaprogramming_Before_

    send(before_method, *args) if respond_to?(before_method) original_method.bind(self).call(*args) end end end ``` 在这个实现中,`instance_method`用于获取原始方法的未绑定版本,`define_method`则用于...

    ruby_1_9_3_core_rdocs

    这些文档详细阐述了各个类的方法、用法和示例,是学习和调试Ruby代码的得力助手。通过查阅这些文档,开发者可以深入了解Ruby的内部工作原理,提升编程效率,同时也能更好地利用Ruby的灵活性和强大功能来构建复杂的...

    Ruby-rubybuild编译和安装Ruby

    在Ruby开发中,为了管理不同版本的Ruby环境,我们常常会使用到`rbenv`和`ruby-build`这两个工具。本文将详细介绍如何使用`ruby-build`来编译和安装Ruby。 `rbenv`是一个用于管理全局或用户级别的Ruby版本的工具,它...

    SignalFx的Ruby客户端库_Ruby_Shell_下载.zip

    SignalFx的Ruby客户端库是为集成SignalFx监控和分析平台而设计的一个开源工具,它允许开发者在Ruby应用程序中轻松地发送指标、事件和日志数据到SignalFx服务。SignalFx是一个实时的大数据智能平台,专注于应用程序...

    ruby元编程之创建自己的动态方法

    `来创建动态方法,这是一种在Ruby社区中广泛使用的技巧,尤其是在诸如Rails这样的框架中。 #### 二、`method_missing`详解 `method_missing`是Ruby中的一个特殊方法,它在试图调用一个未定义的方法时被触发。这为...

    rbext:Ruby扩展的集合,可以替代ActiveSupport

    该gem的核心目的是为核心Ruby框架中缺少的常见Ruby扩展提供快速,非常明显且易于使用的源代码。 常用示例是.blank? 许多项目中常用的方法 .blank? method可能是Ruby核心Ruby库中缺少的重要方法之一,因此应该很...

    笨办法学ruby_笨办法学ruby_ruby_bravevk4_

    Ruby还支持闭包,这是一种强大的工具,可以捕获和存储当前环境的变量,这在函数式编程中尤其有用。 "不墨迹,大量练习"是该教程的一大特点。学习编程不仅仅是理论知识的积累,更重要的是动手实践。书中的每个小节...

    ruby_1_8_6_core_rdocs

    8. **Block**:Ruby 中的代码块是一种特殊的语法结构,通常与迭代器方法一起使用。它们可以用 `{}` 或 `do..end` 定义,并可以通过 `yield` 关键字在方法内部调用。 9. **Gem**:Ruby 的包管理系统,允许开发者分发...

    mvc-respond-to:用于 ASP.NET MVC 的 Ruby On Rails respond_to 模拟

    Ruby on Rails的respond_to代码类似物对ASP.NET MVC NuGet 项目: 说明 该库为您的控制器提供了类似响应响应的 RoR 扩展方法。 简而言之, RespondTo允许您的操作根据客户端提交的 *HTTP Accept* 标头以不同的...

    Exercism-exercises-in-Ruby.-ruby.zip

    Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_exercises_in_Ruby._ruby.zip Exercism_...

    the_ruby_programming_language原版

    书中所涉及的内容可能包括但不限于Ruby语言的语法、数据类型、控制结构、模块、类和对象、异常处理、文件操作、网络编程、安全性、内置库以及高级主题等。 在标签中提到了“ruby 英文原版”,表明这本书是原版英文...

    使用devise+omniauth进行谷歌身份验证_Ruby_JavaScript_.zip

    在Ruby on Rails应用中,Devise和OmniAuth是两种常用的工具,用于实现用户认证和第三方身份验证。在这个教程中,我们将深入探讨如何利用这两者来实现谷歌身份验证。这将帮助你的用户通过他们的谷歌账户登录,提升...

    label_break_ruby_Metaprogramming_

    标题中的"label_break_ruby_Metaprogramming_"暗示我们将讨论如何使用标签(label)和`break`语句在Ruby中实现多层循环的退出。标签是一种在代码中定义特定位置的方法,可以与`break`或`next`语句配合使用,使它们...

    test_logger1.rar_Logger wat_ruby _watir_watir ruby_watir-webdriv

    总的来说,这个资源包提供了学习和实践Ruby自动化测试的一个实例,包括如何使用Logger模块进行日志记录以及如何利用Watir或Watir-Webdriver进行浏览器自动化测试。通过研究这个脚本,你可以深入理解Ruby在自动化测试...

    Ruby on Rails_ Up and Running

    RUBY的经典之作,对其在RAILS下开发写得很详细

    ruby_1_9_3_core_rdocs.gz

    10. **Gem生态系统**:Ruby的Gem包管理系统使得第三方库的安装和使用变得极其简单,极大地丰富了Ruby的功能,例如Rails框架、RSpec测试工具等。 总的来说,"ruby_1_9_3_core_rdocs.gz"包含的文档是学习和理解Ruby ...

    Rails确认替换为SweetAlert_Ruby_HTML_下载.zip

    respond_to do |format| format.js { render 'sweet_alert_confirm' } end end ``` 这里,`sweet_alert_confirm.js.erb`将包含SweetAlert的JavaScript代码来显示确认对话框。 4. **编写JavaScript视图** ...

    Ruby_learning_教程-中文版

    文件名和目录名应该全部使用小写,这是因为Ruby中的类和模块命名通常也是小写的。一个简单的Ruby程序如下: ```ruby puts 'hello' ``` 这行代码将会在屏幕上打印出"hello"。Ruby程序的执行是顺序进行的,意味着...

    ruby _1.9.3 _gem环境

    在Ruby 1.9.3中,Gem环境的管理和使用对于开发者来说至关重要。 一、Ruby Gem 的基本概念 Ruby Gem 包含了Ruby库、文档、元数据和执行脚本,它们被打包成一个可安装的格式,方便开发者复用和分发代码。Gem 文件通常...

Global site tag (gtag.js) - Google Analytics