“响应?”与“响应缺失?”

2024-02-03

定义的意义何在respond_to_missing?而不是定义respond_to??如果重新定义会出现什么问题respond_to?某堂课?


Without respond_to_missing? http://ruby-doc.org/core/Object.html#method-i-respond_to_missing-3F已定义,尝试通过获取该方法method http://ruby-doc.org/core/Object.html#method-i-method将失败:

class Foo
  def method_missing name, *args
    p args
  end

  def respond_to? name, include_private = false
    true
  end
end

f = Foo.new
f.bar  #=> []
f.respond_to? :bar  #=> true
f.method :bar  # NameError: undefined method `bar' for class `Foo'

class Foo
  def respond_to? *args; super; end  # “Reverting” previous redefinition

  def respond_to_missing? *args
    true
  end
end

f.method :bar  #=> #<Method: Foo#bar>

马克-安德烈 https://stackoverflow.com/users/8279/marc-andre-lafortune(Ruby 核心提交者)有一个很好的博客文章于respond_to_missing? http://blog.marc-andre.ca/2010/11/methodmissing-politely.html.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“响应?”与“响应缺失?” 的相关文章

随机推荐

  • Xamarin.Forms ListView 通过代码设置 SelectedItem

    我怎样才能设置SelectedItem我的代码中的 ListView 我的问题是 当我在代码中预选择一个项目时 它没有突出显示 ListView 在 xaml 文件中定义
  • 如何手动触发路由解析器

    我在访问之前解析用户帐户片段 of my 用户页面 应用程序路由 component ts path users id component UserComponent resolve user UsersService children p
  • 在 AppleScript 中的“do shell script”对话框中添加进度条

    我正在开发一个用 AppleScript 编写的应用程序 它将 St Bernard 重定向 LaunchDaemon 移动到当前用户的目录 以便用户可以访问家里的任何网站 但让他们在返回学校之前将其放回去 原因是在学校 iPrism 会屏
  • 在 Visual Studio 代码中添加自定义库

    我正在制作一个扩展名为 h 的静态 cpp 库 并且我已在扩展名为 cpp 的不同文件中编写了相同的源代码 现在我想制作一个测试脚本 其中包含我刚刚创建的自定义库 当我使用这个库时 include
  • ng 未被识别为内部或外部命令

    运行 Windows 7 Professional 32 位 I tried running npm install g angular cli both under normal or admin I also tried adding
  • Spring oauth2 hasRole 访问被拒绝

    我对 OAuth2 非常陌生 并尝试在角色 auth server 中构建一台服务器来授权用户 并构建一台保留受保护资源的服务器 我在使用 ResourceServerConfigurerAdapter 时遇到了一些问题 看起来他忽略了从
  • Haskell Random 无法构造无限类型:a1 = IO a1

    我想用 Haskell 生成一个包含 26 个随机整数的列表 其总和为 301 我写下以下内容 import System Random f 1 sum sum f n sum m f n 1 sum m where m randomRIO
  • Bash 忽略特定命令的错误

    我正在使用以下选项 set o pipefail set e 在 bash 脚本中出现错误时停止执行 我有大约 100 行脚本正在执行 我不想检查脚本中每一行的返回代码 但对于一个特定的命令 我想忽略该错误 我怎样才能做到这一点 解决方案
  • 在 iPhone 邮件应用程序上绘制蓝色“未读点”

    有谁有如何绘制苹果邮件应用程序中使用的蓝色 未读点 的示例吗 这个具体来说 使用 Quartz2d 绘制椭圆很简单 但阴影 渐变的巧妙使用使这看起来真正的 3D 我认为邮件中的蓝点实际上是一个图像 我认为位图传送图像会比绘制渐变更快
  • 并行处理批次项目

    我有一个 ItemGroup 并且想要并行处理其所有项目 使用自定义任务或 exe 我可以编写我的任务 exe 来接受整个 ItemGroup 并在内部并行处理其项目 但是 我希望这种并行性能够与 MSBuild 结合使用 maxCpuCo
  • Selenium 缓慢向下滚动

    我正在尝试使用 Python 在 javascript 渲染的网页上进行动态网页抓取 1 但是 只有当我缓慢向下滚动页面时 才会加载元素 我努力了 driver execute script window scrollTo 0 Y 这不起作
  • 如何对 numberDisplay 的所有值求和,不包括类别

    我有一组数据 我想默认将过滤器应用到 numberDisplay 数据是这样的 data category A value 10 category B value 10 category C value 10 category S valu
  • 检查 linq 中的字符串是否为 null 或为空

    我有一个带有空格的字符串 string MyNote Convert ToString Session MyNote if MyNote null MyNote 如果字符串有更多空间 MyNote 不起作用 所以 如何在 C 中使用 lin
  • 从非模板参数化方法返回模板类型

    为了定义模板类 我考虑了三个不同的文件 该声明位于 h文件中 方法实现位于 cpp文件 并且显式实例化包含在 inc文件 通过在 cpp 末尾添加一行 例如 include bar impl inc 现在 这是我的问题 我有两个模板类 例如
  • ActiveMQ从java中删除队列

    如何从java程序中删除activemq中的队列 有类似 session delelteQueue 的东西吗 谢谢M 简单的解决方案 不使用 JMX 将连接转换为 ActiveMQConnection 并使用其 destroyDestina
  • 寻求报告服务认证建议

    我被分配负责修订当前的报告服务验证流程 目的是保持必要的安全级别 并简化授予对各个报告的访问权限的维护 配置 我无权访问域控制器来修改或创建新的 AD 组 我必须与当前存在的组 用户合作 在身份验证方面 我似乎可以选择使用以下任一方法 Wi
  • -Webkit滚动条+溢出+JQuery滚动顶部始终返回零

    我一整天都在研究这个错误 但无法解决它 有一个 JQuery scrollTop 动画脚本 它检测 window scrollTop 值并执行一些动画 如果单击按钮滚动回顶部 this click 函数 html body animate
  • C 中的守护进程 - 有没有一种方法可以实现它们?

    我有一个关于 C 中守护进程的一般性问题 但到目前为止我还没有看到答案 有没有一种方法可以实现对守护进程的控制 例如约定或标准 休息是进一步的解释 我看过多个文档 教授如何在 C 中创建守护进程的基础知识 分叉 关闭文件描述符 更改根目录等
  • 下载文件存储位置和处理使用selenium webdriver和JAVA下载弹出窗口

    请提出一个想法 并进行以下几点实施 1 how to handle the Download popup in IE with Selenium Webdriver with JAVA 2 如何使用JAVA将该xml文件存储在不同的位置 注
  • “响应?”与“响应缺失?”

    定义的意义何在respond to missing 而不是定义respond to 如果重新定义会出现什么问题respond to 某堂课 Without respond to missing http ruby doc org core