SORU
22 ŞUBAT 2010, PAZARTESİ


kaç gün saat dakika saniye içine 270921sec dönüştürmek için ? (ruby)

Saniye sayısı. Hadi 270921 söylüyorlar. Nasıl xx gün, yy saat, zz dakika, ww saniye olduğunu söyleyerek gösterebilir miyim?

CEVAP
22 ŞUBAT 2010, PAZARTESİ


divmod kullanarak oldukça özlü bir biçimde yapılabilir:

t = 270921
mm, ss = t.divmod(60)            #=> [4515, 21]
hh, mm = mm.divmod(60)           #=> [75, 15]
dd, hh = hh.divmod(24)           #=> [3, 3]
puts "%d days, %d hours, %d minutes and %d seconds" % [dd, hh, mm, ss]
#=> 3 days, 3 hours, 15 minutes and 21 seconds

Muhtemelen daha fazla collect ya da belki de temel mantığı overkill olabilir üç satır inject ama ile yaratıcı alarak KURU olabilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HuskyStarcraft

    HuskyStarcra

    4 HAZİRAN 2009
  • Jay Will

    Jay Will

    19 NİSAN 2006
  • Sams Page :D

    Sams Page :D

    15 Mart 2009