abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    včera 18:33 | Nová verze

    Operační systém MidnightBSD, fork FreeBSD optimalizovaný pro desktop s prostředím Xfce, byl vydán ve verzi 3.0. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    včera 18:22 | IT novinky

    Na GOG.com běží Spring Sale. Při té příležitosti lze získat zdarma počítačovou hru Neurodeck: Psychological Deckbuilder (ProtonDB).

    Ladislav Hagara | Komentářů: 0
    25.3. 12:33 | Komunita

    Alex Ellis upozornil 15. března, že firma Docker se chystala zrušit bezplatný hosting open-source projektů na Docker Hubu. Po vlně odporu se představitelé firmy omluvili a posléze byl původní záměr odvolán.

    Fluttershy, yay! | Komentářů: 28
    25.3. 07:00 | IT novinky

    Ve věku 94 let zemřel Gordon Moore, mj. spoluzakladatel společnosti Intel a autor Moorova zákona.

    Ladislav Hagara | Komentářů: 1
    24.3. 17:11 | Nová verze

    Mercurial (Wikipedie), software pro SCM (Source Code Management), byl vydán ve verzi 6.4. Přehled novinek v poznámkách k vydání. Ve dnech 5. až 7. dubna proběhne konference Mercurial Paris.

    Ladislav Hagara | Komentářů: 0
    24.3. 11:55 | IT novinky

    Byly rozdány Ceny Velkého bratra (Big Brother Awards) za rok 2022 pro největší slídily pořádané nevládní organizací Iuridicum Remedium. Dlouhodobý slídil: Microsoft. Firemní slídil: Seznam. Úřední slídil: Nejvyšší správní soud. Výrok Velkého bratra: Marian Jurečka. Pozitivní cena: NoLog.

    Ladislav Hagara | Komentářů: 11
    24.3. 11:11 | Zajímavý projekt

    Byla představena online vzdělávací platforma Ada Computer Science pro učitele, studenty a kohokoli, kdo se zajímá o informatiku. Stojí za ní Raspberry Pi Foundation a Univerzita v Cambridgi.

    Ladislav Hagara | Komentářů: 0
    24.3. 09:11 | Bezpečnostní upozornění

    GitHub má nový RSA SSH klíč. Předchozí soukromý klíč byl krátce vystaven na GitHubu.

    Ladislav Hagara | Komentářů: 0
    24.3. 08:55 | IT novinky

    Společnost Framework Computer představila (YouTube) nové modulární notebooky: Laptop 13 s Intel Core nebo AMD Ryzen a Laptop 16 (YouTube).

    Ladislav Hagara | Komentářů: 0
    23.3. 19:33 | Nová verze

    Bylo vydáno Ubuntu 20.04.6 LTS, tj. šesté opravné vydání Ubuntu 20.04 LTS s kódovým názvem Focal Fossa. Přehled novinek v poznámkách k vydání a v přehledu změn.

    Ladislav Hagara | Komentářů: 2
    Používáte WSL (Windows Subsystem for Linux)?
     (74%)
     (12%)
     (4%)
     (10%)
    Celkem 327 hlasů
     Komentářů: 4, poslední 24.3. 06:42
    Rozcestník


    Dotaz: Ruby a scitani minut

    28.5.2015 15:33 luksyk
    Ruby a scitani minut
    Přečteno: 203×
    Dobry den,

    v jednom sloupecku CSV mam provolane minuty zakazniku ve forme:
    00:01:23
    00:12:03
    00:04:55
    
    Nevite 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

    Odpovědi

    28.5.2015 22:36 rastos | skóre: 62 | blog: rastos
    Rozbalit Rozbalit vše Re: Ruby a scitani minut
    Prvý riadok:
    a="00:01:23".split(":")
    s=a[0].to_i*3600+a[1].to_i*60+a[2].to_i
    s 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 ;-) )
    28.5.2015 22:46 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: Ruby a scitani minut
    Rozdělil bych si každý řetězec na části a ty postupně nasčítával. Pak jednoduše hodnoty vteřin a minut překračující hodnotu 60 setřásl.

    Ruby neznám, tak následující kód brát opravdu s rezervou:
    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"
    
    29.5.2015 00:00 TTT
    Rozbalit Rozbalit vše Re: Ruby a scitani minut
    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 seconds
    
    První blok spočítá celkový počet vteřin. Druhý blok vypíše spočtené jako HH:MM:SS.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.