Four sides of square: Difference between revisions

m
→‎{{header|Haskell}}: Tidied Data.Matrix version
(→‎{{header|Haskell}}: Added a variant expressed in terms of Data.Matrix)
m (→‎{{header|Haskell}}: Tidied Data.Matrix version)
Line 455:
 
fourSides :: Int -> Matrix Int
fourSides n = matrix n n go
(\(i, j) -> (fromEnum |. or) ([(== i), (==<$> j)[1, n] <*> [1i, nj]) = 1)
where
go (i, j)
| or ([(== i), (== j)] <*> [1, n]) = 1
| otherwise = 0
 
 
--------------------------- TEST -------------------------
main :: IO ()
main = mapM_ print $ fourSides <$> [10 .. 5]</syntaxhighlight>
{{Out}}
<pre>┌
└ ┘
┌ ┐
│ 1 │
└ ┘
9,655

edits