2010-08-31 30 views
5

Tôi đã cố gắng để sử dụng phương pháp bước() trên đối tượng Date để lấy 2 ngày trước đó từ ngày hiện tại như sau:Ruby-đúng của phương pháp Date.step()

date_d.step(2, step=-2){|d| 
    puts d   
    } 

nơi 2 là giới hạn và bước là số bước lùi hoặc tiến.

Tôi đã làm điều này phù hợp với các tài liệu đưa ra ở đây: Date.step()

Đoạn mã này đi vào một vòng lặp vô hạn và sau đó kết quả đầu ra ngày không ngừng (ngược)

Có không dường như là đủ tài liệu cho phương pháp này và tôi cũng không tìm ra giải pháp trực tuyến.

Hãy giúp tôi với điều này.

Trả lời

5

thông số giới hạn là ngày mà vòng lặp dừng không phải là số ngày hoặc lần lặp. ví dụ như vậy

date_d = Date.parse('2010-08-01') 
date_d.step(date_d - 4 , step=-2){|d| 
    puts d   
} 

chí đầu ra

2010-08-01 
2010-07-30 
2010-07-28 
+0

Cảm ơn bạn. Tôi sẽ thử – dkris

Các vấn đề liên quan