tôi có thể lặp như thế nàyLàm thế nào tôi có thể lặp qua một phạm vi đảo ngược với một bước cụ thể trong Ruby?
(0..10).step(2){|v| puts v}
nhưng, vì phạm vi đảo ngược bằng khoảng trống, tôi không thể lặp theo cách này
(10..0).step(2){|v| puts v}
nó sẽ kiếm được cho tôi không có gì. Tất nhiên, tôi có thể lặp lạc hậu như thế này
10.downto(0){|v| puts v}
nhưng downto phương pháp không cho phép tôi để thiết lập bước khác, ngoại trừ mặc định 1. Đó là một cái gì đó rất cơ bản, vì vậy tôi cho rằng cần có một cách tích hợp để làm điều này, mà tôi không biết.
bạn có thể làm một cái gì đó như '(0..10) .step (2) .reverse' nhưng bạn có thể cần phải thêm một số logic trong trường hợp được cho là đầu ra từ '(10..0) .step (2)' là khác nhau. – jvnill
'(0..10) .step (2) .reverse' không hợp lệ; Ruby nói: 'NoMethodError: phương thức undefined 'reverse' cho #'. –