cuốn sách gpt4 ai đã làm

ruby - Vòng lặp For...mãi mãi

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 16:59:57 29 4
mua khóa gpt4 Nike

Tôi có một vòng lặp for và tôi muốn nó tăng mãi mãi.

Mã của tôi:

cho một trong (0...Float::INFINITY).step(2)
đặt một
end

Đầu ra:

0,0
2.0
4.0
V.v. Luôn có "#{a}.0"

Có cách nào biểu diễn vô cực dưới dạng số nguyên sao cho không làm gì với nội dung của vòng lặp mà không có gì ở cuối đầu ra không .0?

phụ lục

Bạn cũng có thể giải thích cách vòng lặp của bạn hoạt động không? Tôi đang cố gắng tìm giải pháp hiệu quả nhất vì vòng lặp này sẽ lặp vô tận nên việc giảm vài mili giây sẽ cải thiện hiệu suất đáng kể.

bên cạnh đó...

Tôi sẽ chấp nhận giải pháp mất thời gian ngắn nhất để chạy tới 1000000

theo điểm chuẩn @Sefan và while Các câu trả lời lặp lại mất cùng thời giancó mùi trái cây while Lặp lại câu trả lời mất ít thời gian hơn một chút,for Lặp lại câu trả lời ở vị trí thứ hai, nhưng nhiều vòng lặp làm Câu trả lời mất nhiều thời gian hơn.

Vì những lý do nằm ngoài phạm vi của câu hỏi này, tôi đã tạo một câu hỏi khác để giải quyết lý do tại sao một số vòng lặp lại nhanh hơn những vòng lặp khác (https://stackoverflow.com/questions/33088764/peddle-to-the-metal-faster-loop-faster).

câu trả lời hay nhất

Bạn có thể sử dụng Số#bướckhông nhiều hơngiới hạn:

0.step(by: 2) { |i| đặt tôi }

Đầu ra:

0
2
4
6
...

Bạn cũng có thể xây dựng của riêng bạnđiều tra viên:

step2 = Enumerator.new do |y|
một = 0
vòng lặp làm
y << một
một += 2
end
end

step2.each { |i| đặt tôi }

Về ruby ​​​​- For loop...forever, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/33081604/

29 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress