[RoR ]請教@items.find......語法的問題

看板Ruby作者 (便宜十塊錢)時間18年前 (2007/12/05 00:45), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/2 (看更多)
大家好,在看Agile Web Development with Rails 2/e一書有段程式看不懂 因此來請教大家 #models/cart.rb class Cart < ActiveRecord::Base #宣告變數 attr_reader :items def initialize @items=[] end def total_price @items.sum{|item| item.price} end def add_product(product) current_item=@items.find{|item| item.product==product} if current_item current_item.increment_quantity else @items<<CartItem.new(product) end end end #models/cart_item.rb class CartItem < ActiveRecord::Base attr_reader :product,:quantity def initialize(product) @product=product @quantity=1 end def increment_quantity @quantity+=1 end end 紅色的地方看不大懂,請問它是去item陣列中搜尋跟product相等的值嗎? 那個|item|是什麼意思呢,謝謝大家的幫忙~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.242.196

12/05 02:05, , 1F
lambda function 的 parameter
12/05 02:05, 1F

12/05 02:06, , 2F
如:def f;yield "Hello!";end; f{|s|puts s}; # => Hello!
12/05 02:06, 2F
文章代碼(AID): #17LOGubk (Ruby)
文章代碼(AID): #17LOGubk (Ruby)