Bagaimana Anda memberi tahu program Ruby untuk menunggu dalam jumlah waktu yang sewenang-wenang sebelum pindah ke baris kode berikutnya?
418
Seperti ini:
sleep(num_secs)
The num_secs
nilai dapat integer atau float.
Juga, jika Anda menulis ini di dalam aplikasi Rails, atau telah memasukkan pustaka ActiveSupport dalam proyek Anda, Anda dapat membuat interval yang lebih lama menggunakan sintaksis kenyamanan berikut:
sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
Saya merasa
until
sangat berguna dengan tidur. contoh:sumber
sleep(10.seconds)
until
bisa digunakan untuk tidur sampai kondisi apa pun tercapai (juga suka betapa alami rasanya sintaksis)sleep 6
akan tidur selama 6 detik. Untuk durasi yang lebih lama, Anda juga dapat menggunakansleep(6.minutes)
atausleep(6.hours)
.sumber
minutes()
danhours()
merupakan metode angka yang ditambahkan oleh Ruby on Rails - jadi bukan standar yang tersedia di Ruby - di kelas ActiveSupport :: Duration. Mereka cukup nyaman.Implementasi detik / menit / jam, yang merupakan metode rel. Perhatikan bahwa pengembalian implisit tidak diperlukan, tetapi mereka terlihat lebih bersih, jadi saya lebih suka mereka. Saya tidak yakin Rails bahkan memiliki .days atau jika berjalan lebih jauh, tetapi ini adalah yang saya butuhkan.
Setelah ini, Anda bisa melakukan:
sleep 5.seconds
tidur selama 5 detik. Anda bisasleep 5.minutes
tidur selama 5 menit. Anda bisa melakukannyasleep 5.hours
selama 5 jam. Dan akhirnya, Anda dapat melakukannyasleep 5.days
selama 5 hari ... Anda dapat menambahkan metode apa pun yang mengembalikan nilai diri * (jumlah detik dalam jangka waktu itu). Sebagai latihan, cobalah menerapkannya selama berbulan-bulan!sumber