Portál AbcLinuxu, 6. května 2025 14:09
00:01:23 00:12:03 00:04:55Nevite prosim, jak toto v Ruby secist, aby vysledek byl take ve formatu HH:MM:SS a jak tento vysledek pripadne zobrazit jako celkovy pocet minut? Dekuji
a="00:01:23".split(":") s=a[0].to_i*3600+a[1].to_i*60+a[2].to_is je teraz 83 (sekúnd). Zosumovať cez všetky riadky a dostaneš jedno veľké číslo C.
SS=C%60 MM=((C-SS)/60)%60 HH=C/3600Čítanie zo súboru a cyklus snáď zvládneš (lebo ja teraz nie
t1 = "01:34:46" t2 = "00:48:55" tlist1 = t1.split(":").map &:to_i tlist2 = t2.split(":").map &:to_i tsumlist = [] tlist1.each_with_index do |val, i| tsumlist << val + tlist2[i] end tsumlist[1] += tsumlist[2] / 60 tsumlist[2] = tsumlist[2] % 60 tsumlist[0] += tsumlist[1] / 60 tsumlist[1] = tsumlist[1] % 60 print tsumlist.join(":"), "\n" print tsumlist[0] * 60 + tsumlist[1], "\n"
require 'csv' seconds = 0 CSV.foreach("times.csv") { |line| seconds += line[0].split(":").map(&:to_i).inject(0) { |sum, n| sum * 60 + n } } seconds.tap { |total| puts ((0..1).map { |i| res = total % 60; total /= 60; res } << total).reverse.join(":") } puts secondsPrvní blok spočítá celkový počet vteřin. Druhý blok vypíše spočtené jako HH:MM:SS.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.