谁能告诉我是什么吗

send("#{Model.find...}")

是吗?

推荐答案

send向类层次 struct 中的对象实例及其祖先发送消息,直到某个方法做出react (因为其名称与第一个参数匹配).

实际上,这些线是等价的:

1.send '+', 2
1.+(2)
1 + 2

请注意,send绕过了可见性判断,因此您也可以调用私有方法(对于单元测试很有用).


如果发送前确实没有变量,则表示使用全局对象:

send :to_s    # "main"
send :class   # Object

Ruby相关问答推荐

如何在 ruby​​ 中通过 SSL 调用 HTTP POST 方法?

仅在模块中列出方法?

Ruby:p *1..10中的星号是什么意思

Encoding::UndefinedConversionError

如何判断我是从 JRuby 还是 Ruby 运行?

在包含任意数量的嵌套散列和数组的散列中查找键/值对

Vim 用 ruby​​ 语法高亮显示很慢

如何声明 RSpec 中示例之间共享的变量?

RSpec:如何测试文件操作和文件内容

为什么整数除法在许多脚本语言中舍入?

有没有办法在 RSpec 中取消存根?

从 Ruby 中的字符串创建不区分大小写的正则表达式

在 Ruby 中取消定义变量

在 Rspec 测试中运行 Rake 任务

. vs ::(点与双冒号)用于调用方法

如何在不等式中使用Ruby case ... when?

跳过 Enumerable#collect 中的迭代

判断整数是否在范围内

Ruby总是Round Up

解析带有标题字段的 CSV 文件作为每行的属性