I am just starting to try and learn more about Nim having installed it a while 
ago. My idea was to go through the exercises from the (free) online book 'How 
to think like a Computer Scientist with Julia' which I had worked through a 
while ago - using Julia of course. For the exercises, my intention was to read 
online the Nim features needed for the exercise and implement the solution in 
Nim. One of the first exercises - which was done in the Julia REPL but required 
coding in Nim - boiled down to taking a time of day and adding a duration in 
minutes and seconds to get a new time. Specifically starting with 6:15 and 
adding 38 minutes and 6 seconds. Instead of doing lots of arithmetic, I decided 
to look at using the Nim std/times documentation. I actually found it a little 
confusing but this was my first time looking at the documentation so it could 
be just unfamiliarity on my part.

The, no doubt not very well written, code seems to run fine:

import times

let f = initTimeFormat("HH:mm:ss") var startTime = "06:52:00".parse(f) let secs 
= 6 let mins = 38 var d: Duration = initDuration(seconds=secs,minutes=mins) 
echo (startTime + d).format(f)

However if I change the first line to: let f = initTimeFormat("H:mm:ss") the 
parse() fails but it says in the manual that for a format patern of HH: ' The 
hours in two digits always. 0 is prepended if the hour is one digit.'

Can one of you gurus clear up my misunderstanding please? Perhaps you would be 
king enough to suggest a better way to code it. Apologies for the verbose 
question.

Many Thanks Ron

Reply via email to