Re: [RoR ]請教@items.find......語法的問題
※ 引述《joehwang (便宜十塊錢)》之銘言:
: 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
: 紅色的地方看不大懂,請問它是去item陣列中搜尋跟product相等的值嗎?
: 那個|item|是什麼意思呢,謝謝大家的幫忙~
|something| 這是ruby裡面的迭代器(iterator)
在Ruby Programming這本書裡有說到「迭代器能對陣列所有元素逐一進行特定的操作」
例如:
list = [1,3,5,7,9]
sum = 0
list.each{ |element|
sum += element
}
例如:
price = { "orange" => 10 , "apple" =>12 , "banana" => 13 }
price.each{ |fruit , price|
puts fruit + " costs " + price + "dollars"
}
所以上面的飯粒是在說
如果我要新增的product在購物車陣列裡找的到一樣的product的話
我就把個數+1
不然就在陣列尾巴插入一個新product
懂了嗎^^?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.0.243
推
12/05 02:30, , 1F
12/05 02:30, 1F
推
12/05 07:49, , 2F
12/05 07:49, 2F
→
12/05 07:50, , 3F
12/05 07:50, 3F
推
12/05 11:01, , 4F
12/05 11:01, 4F
推
12/05 16:25, , 5F
12/05 16:25, 5F
推
12/05 21:21, , 6F
12/05 21:21, 6F
推
12/05 21:31, , 7F
12/05 21:31, 7F
→
12/05 21:33, , 8F
12/05 21:33, 8F
→
12/05 22:32, , 9F
12/05 22:32, 9F
推
12/05 23:13, , 10F
12/05 23:13, 10F
推
12/06 06:28, , 11F
12/06 06:28, 11F
討論串 (同標題文章)