我创建了一个函数m,这样
m "abc" "def" == "bcd"
Run Code Online (Sandbox Code Playgroud)
我想创建另一个函数,用于在给定输入时m生成输出["bcd","efg","hia"]["abc","def","ghi"]
的定义m是
m :: [a] -> [a] -> [a]
m str1 str2 = (drop 1 str1) ++ (take 1 str2)
Run Code Online (Sandbox Code Playgroud) import Data.List (sort,nub,(\\),transpose,genericLength)
import Data.String (lines,unlines)
type Row a = [a]
type Matrix a = [Row a]
type Digit = Char
digits :: [Digit]
digits = ['1'..'9']
blank :: Digit -> Bool
blank d = d == ' '
-- 1.
group :: [a] -> [[a]]
group = groupBy 3
groupBy :: Int -> [a] -> [[a]]
groupBy _ [] = []
groupBy n xs = let (ys, zs) = splitAt n xs
in ys : groupBy n zs
-- …Run Code Online (Sandbox Code Playgroud)