En fín...fué totalmente divertido...y podría estar más feliz con el resultado final...Haskell siendo tan puro hace que trabajar con el sea una completa maravilla...
Mucha conversación...aquí está el código fuente...
Roman_Numerals.hs |
---|
showRomans :: Int -> IO() showRomans(num) = do putStr $ concat $ get_roman num 0 get_roman :: Int -> Int -> [[Char]] get_roman num ctr | num >= roman = make_roman(roman) ++ get_roman(num - roman) ctr | num < roman && num > 0 = get_roman(num) (ctr+1) | num <= 0 = ["\n"] where roman = roman_keys [] !! ctr make_roman :: Int -> [[Char]] make_roman(1) = ["I"]; make_roman(4) = ["IV"]; make_roman(5) = ["V"]; make_roman(9) = ["IX"]; make_roman(10) = ["X"]; make_roman(40) = ["XL"]; make_roman(50) = ["L"]; make_roman(90) = ["XC"]; make_roman(100) = ["C"]; make_roman(400) = ["CD"]; make_roman(500) = ["D"]; make_roman(900) = ["CM"]; make_roman(1000) = ["M"] roman_keys :: [Int] -> [Int] roman_keys keys = [1000,900,500,400,100,90,50,40,10,9,5,4,1] |
Como siempre...aquí está la imagen...
Después de tantos blogs en tan poco tiempo...creo que me merezco un descanzo, así que podré seguir leyendo el libro de Haskell...puesto que prometí escribir un review...
Saludos,
Blag.
Development Culture.
No comments:
Post a Comment