çãããããã°ãã¯ã(^^
syujuã§ãã
Â
æ©éã§ãããä»¶åã«ãããšãããæååã®ãã©ãŒãããã§æ©ãã§ããŸãã
cèšèªã§ã¯printf颿°ãªã©ãçšæãããŠãããšæããŸãããHaskellã§ã®å®çªã¯ååšããã®ã§ããããã
Â
ã¿ãã«ã§äžããããå¹Žææ¥ããŒã¿(Int,Int,Int)ãyyyy/mm/dd ã®ããã«æŽåœ¢ããçºã«äœ¿çšããããšæã£ãŠããŸãã
ïŒ1æã®å Žå㯠01ã®ããã«0ã§ãããããŸãïŒ
Â
è»œãæ¢ããŠã¿ãã®ã§ããããã®ãããªçšéã«ãµãããã颿°ãçºèŠã§ããªãã£ãã®ã§ããã䟿å©ãªé¢æ°ãããããã§ãããæããŠãã ãããm( _ _ )m
Â
ã¡ãªã¿ã«ãçŸåšã¯ä»¥äžã®ããã«é¢æ°ãå®çŸ©ããŠäœ¿çšããŠããŸããæãªããé
·ãæãã«ãªã®ã§ããã
ïŒè¥¿æŠã¯å¿
ã4æ¡ãªã®ã§showã䜿ãã ãã§ããã®ã§ããããããŠé¢æ°ã䜿ã£ãŠçµ±äžæãã ããŠã¿ãŸããã颿°åã¯é©åœã§ãïŒ
Â
formatDate :: (Int,Int,Int) -> String
formatDate (y,m,d) = prettyInt y 4 '0' ++ "/"
                 ++ prettyInt m 2 '0' ++ "/"
                 ++ prettyInt d 2 '0'
prettyInt :: Int -> Int -> Char -> String
prettyInt val width padChar | length str >= width = str
                           | otherwise = [ padChar | i <-[1..(width - (length str))] ]] ++ str
 where
   str = show valÂ
Â
++ãçæåšãå€çšããŠããã®ã§ããã¶ãéå¹çã ãšæããŸãããä»£æ¿ææ®µãæãæµ®ãã°ãªã次第ã§ãã»ã»ã»ã
ããå®ãããã°ããã®ã³ãŒãã«é¢ããŠãã¢ããã€ã¹é ãããšå¬ããã§ãã
Â
ã§ã¯ã
Â