Convert seconds to compound duration: Difference between revisions

m
(→‎{{header|Haskell}}: Additionally parameterised separators.)
Line 1,785:
 
----------------- COMPOUND DURATION STRINGS ----------------
 
translation :: String -> Int -> Int -> Int -> String
translation local daysPerWeek hoursPerDay n =
intercalate " -> " $
[show, durationString ", " " " daysPerWeek hoursPerDay (words local)] <*> [n]
 
durationString :: String -> String -> Int -> Int -> [String] -> Int -> String
Line 1,817 ⟶ 1,812:
 
---------------------------- TEST --------------------------
 
translation :: String -> Int -> Int -> Int -> String
translation local daysPerWeek hoursPerDay n =
intercalate " -> " $
[show, durationString ", " " " daysPerWeek hoursPerDay (words local)] <*> [n]
 
main :: IO ()
main = do
let names = "wk d hr min sec"
let tests = [7259, 86400, 6000000]
 
putStrLn "Assuming 24 hrs per day:"
mapM_ (putStrLn . translation names 7 24) tests
 
putStrLn "\nor, at 8 hours per day, 5 days per week:"
mapM_ (putStrLn . translation names 5 8) tests</lang>
9,655

edits