fork download
  1. import Data.List
  2.  
  3. toLength :: Int -> String -> String
  4. toLength n x = take n x ++ replicate (min 0 (n - length x)) ' '
  5.  
  6. main = do
  7. contents <- getContents
  8. let
  9. input = lines contents
  10. w = maximum $ map length input
  11. output = transpose $ map (toLength w) input
  12. mapM_ putStrLn output
Success #stdin #stdout 0s 4668KB
stdin
package main

import "fmt"

func main() {
    queue := make(chan string, 2)
    queue <- "one"
    queue <- "twoO"
    close(queue)
    for elem := range queue {
        fmt.Println(elem)
    }
}
stdout
pif       }
amu       
cpn       
koc       
ar qqqcf }
gtmuuulo 
e aeeeor 
 "iuuus  
mfneeeeef
am(   (lm
it):<<qet
n" =--um.
{   e P
m""u:r
aote=i
knw) n
eeort
("Oal
c"nn
hg(
aee
n l
 qe
sum
te)
ru
ie
n 
g{
,
 
2
)