本书The Well Grounded Rubyist声明您可以使用此send方法来检查object(ticket)是否响应用户输入:
if ticket.respond_to?(request)
puts ticket.send(request)
else
puts "No such information available"
end
Run Code Online (Sandbox Code Playgroud)
上面的代码和写作之间有什么区别:
if ticket.respond_to?(request)
puts ticket.request
else
puts "No such information available"
end
Run Code Online (Sandbox Code Playgroud)
如果ticket响应用户输入,为什么不直接使用点符号来调用它?
ticket.request将消息发送request给ticket对象.
ticket.send(request)将变量中包含的内容request发送给ticket对象.所以如果你request = :clone在此之前写过,那条线就相当于ticket.clone.
| 归档时间: |
|
| 查看次数: |
206 次 |
| 最近记录: |