【发布时间】:2011-01-24 04:55:27
【问题描述】:
为了更好地理解 Ruby,我在网上遇到了这段代码:
require 'rubygems'
require 'activeresource'
ActiveResource::Base.logger = Logger.new("#{File.dirname(__FILE__)}/events.log")
class Event < ActiveResource::Base
self.site = "http://localhost:3000"
end
events = Event.find(:all)
puts events.map(&:name)
e = Event.find(1)
e.price = 20.00
e.save
e = Event.create(:name => "Shortest event evar!",
:starts_at => 1.second.ago,
:capacity => 25,
:price => 10.00)
e.destroy
我特别感兴趣的是events.map(&:name) 是如何工作的?我看到 events 是一个数组,因此它正在调用它的 map 方法。现在我的问题是,传递给地图的块在哪里创建?在这种情况下,符号 :name 是什么?我正在尝试了解它是如何工作的。
【问题讨论】:
-
这是 7 个不同问题的完全重复。相信我,Ruby 在过去 3 周内没有发生太大变化,所以答案可能是相同的:StackOverflow.Com/questions/99318、StackOverflow.Com/questions/1217088、StackOverflow.Com/questions/1792683、StackOverflow.Com/questions/1961030、StackOverflow.Com/questions/2096975、@987654326 @, StackOverflow.Com/questions/2259775.
标签: ruby-on-rails ruby