0
爲什麼File.each
工作但File.readline
不?爲什麼File.each能夠運行但File.readline不能運行?
File.open('store-sample','r') do |f|
f.readline("\n\n\n\n") do |l|
binding.pry
end
end
的代碼不破,不過下面的代碼工作:
File.open('store-sample','r').each("\n\n\n\n") do |l|
binding.pry
end
我不知道內部實現這兩種方法,但這種怪異的行爲真的讓我瘋了。
Ruby中的每個方法都有一個塊,區別在於它對它做了什麼。在這種情況下,readline不會產生給定的塊,所以'bind.pry'永遠不會被評估。 Ruby中的每個方法都會返回一個值。 – vgoff
@vgoff感謝給我更好的瞭解紅寶石塊 – mko