Advertisement
Guest User

Untitled

a guest
Jul 24th, 2019
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. module FizzBuzz(fizzbuzz) where
  2.  
  3. import Data.Array
  4.  
  5. fizzbuzz :: Int -> [String]
  6. fizzbuzz n = subArray(0,n,["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz", "16", "17", "Fizz", "19", "Buzz", "Fizz", "22", "23", "Fizz", "Buzz", "26", "Fizz", "28", "29", "FizzBuzz", "31", "32", "Fizz", "34", "Buzz", "Fizz", "37", "38", "Fizz", "Buzz", "41", "Fizz", "43", "44", "FizzBuzz", "46", "47", "Fizz", "49", "Buzz", "Fizz", "52", "53", "Fizz", "Buzz", "56", "Fizz", "58", "59", "FizzBuzz", "61", "62", "Fizz", "64", "Buzz", "Fizz", "67", "68", "Fizz", "Buzz", "71", "Fizz", "73", "74", "FizzBuzz", "76", "77", "Fizz", "79", "Buzz", "Fizz", "82", "83", "Fizz", "Buzz", "86", "Fizz", "88", "89", "FizzBuzz", "91", "92", "Fizz", "94", "Buzz", "Fizz", "97", "98", "Fizz", "Buzz"])
  7.  
  8. subArray :: Int -> Int -> Array -> Array
  9. subArray i j a = listArray (0,j-i) $ map (a!) [i..j]
  10.  
  11. FizzBuzz.hs:8:27:
  12. Expecting two more arguments to `Array'
  13. Expected a type, but `Array' has kind `* -> * -> *'
  14. In the type signature for `subArray':
  15. subArray :: Int -> Int -> Array -> Array
  16.  
  17. module FizzBuzzTest where
  18. import FizzBuzz(fizzbuzz)
  19. import Test.Hspec
  20.  
  21. main :: IO ()
  22. main = hspec $ describe "Fizzbuzz" $ do
  23. it "Should fizzify 10 numbers correctly" $ do
  24. let expected = ["1","2","Fizz","4","Buzz","Fizz","7","8","Fizz","Buzz"]
  25. fizzbuzz 10 `shouldBe` expected
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement