【发布时间】:2016-02-05 19:16:58
【问题描述】:
我正在做一些探索。关于 Ruby 的
.find(ifnone = nil) { |obj| block } 方法:通过阅读documentation,在我看来,您应该能够将方法作为参数传递,该方法将在指定条件不匹配的情况下运行。
上面写着:
"调用ifnone并在指定时返回其结果,或返回
nil否则。”
这似乎适用于我创建的任何已经返回 nil 的方法,比如:
定义消息 提出“不匹配”。 结尾No match.
=>nil
如果我使用确实返回某些内容的方法,请说:
定义消息 p '不匹配。 结尾我会得到:
"No match."
NoMethodError: undefined method `call' for "No match.":String
是否有人好心地向我解释一下实际上应该将哪种类型的 arg/方法传递给 find 方法?谢谢。
【问题讨论】: