Re: convert seconds to hours:minutes:seconds


#1

Everytime you use printf, God kills a kitten.

time = 7683
p [time/3600, time/60 % 60, time % 60].map{|t| t.to_s.rjust(2,
‘0’)}.join(’:’)

=> “02:08:03”

cheers

Simon


#2

What is wrong with printf, I learned C first and most recently have
done a lot of programming with python which includes printf style
variable interpolation. It is my favorite way of formatting output as
it is what I know. Does god kill a kitten out of personal preference
or some deep seated problem with printf in ruby?

  • Andy D.

#3

On Wednesday 14 December 2005 16:19, Andy D. wrote:

What is wrong with printf, I learned C first and most recently have
done a lot of programming with python which includes printf style
variable interpolation. It is my favorite way of formatting output as
it is what I know. Does god kill a kitten out of personal preference
or some deep seated problem with printf in ruby?

C/C++ programmers are comfortable with printf. If someone overloaded
the %
operator and started using that in C++, you’d get annoyed. It’s not
something that’s a widely used portion of the language. So if anyone
else
ever has to read your code, you’re asking them to approach it from the C
point of view instead of the Ruby point of view. Being that the common
denominator is that they’ll know Ruby, this is inconsiderate.

Can you do it? Sure. But Ruby programmers, as a rule, do not think
about
string processing this way. At least save yourself some keystrokes and
use
the exact same format string and % if you must.

  • Andy D.

[snip]


#4

On Thu, 15 Dec 2005, Kevin B. wrote:

ever has to read your code, you’re asking them to approach it from the C
point of view instead of the Ruby point of view. Being that the common
denominator is that they’ll know Ruby, this is inconsiderate.

Can you do it? Sure. But Ruby programmers, as a rule, do not think about
string processing this way. At least save yourself some keystrokes and use
the exact same format string and % if you must.

sure. but here you have

harp:~ > irb
irb(main):001:0> Time::now.strftime ‘%H:%M:%S’
=> “17:44:28”

in case op didn’t know…

regards.

-a