Haskell 组合两个整数函数->;字符串类型
我有一个名为“列出苹果”的函数,当给定一个数字5时,它会逐行打印5个“苹果” 使用PUTSR(列表5)。i、 e: 我调用的另一个函数是苹果的一行,给出了一个数字5Haskell 组合两个整数函数->;字符串类型,haskell,Haskell,我有一个名为“列出苹果”的函数,当给定一个数字5时,它会逐行打印5个“苹果” 使用PUTSR(列表5)。i、 e: 我调用的另一个函数是苹果的一行,给出了一个数字5 a_row_of_apple :: Integer -> String a_row_of_apple k = concat["apple " | x <- [1..k]] Aim:我正在尝试使用上述两个函数定义一个名为list\u all\u apple的函数 list_all_apple :: Integer-&g
a_row_of_apple :: Integer -> String
a_row_of_apple k = concat["apple " | x <- [1..k]]
Aim:我正在尝试使用上述两个函数定义一个名为list\u all\u apple的函数
list_all_apple :: Integer-> String
结果:
apple
apple apple
apple apple apple
apple apple apple apple
apple apple apple apple apple
我的尝试:
使用列表理解
list_all_apple :: Integer -> String
list_all_apple k = list_apple k ++ a_row_of_aaple k| x<-[1..k]
list\u all\u apple::Integer->String
list_all_apple k=list_apple k++a_行_示例k | x虽然不使用*list_apple*,但这将是一个解决方案:
list_all_apple :: Integer -> String
list_all_apple k = concat[a_row_of_apple x ++ "\n"| x<-[1..k]]
list\u all\u apple::Integer->String
list_all_apple k=concat[a_row__apple x++“\n”| x虽然不使用*list_apple*,但这将是一个解决方案:
list_all_apple :: Integer -> String
list_all_apple k = concat[a_row_of_apple x ++ "\n"| x<-[1..k]]
list\u all\u apple::Integer->String
list_all_apple k=concat[a_row__apple x++“\n”| x虽然不使用*list_apple*,但这将是一个解决方案:
list_all_apple :: Integer -> String
list_all_apple k = concat[a_row_of_apple x ++ "\n"| x<-[1..k]]
list\u all\u apple::Integer->String
list_all_apple k=concat[a_row__apple x++“\n”| x虽然不使用*list_apple*,但这将是一个解决方案:
list_all_apple :: Integer -> String
list_all_apple k = concat[a_row_of_apple x ++ "\n"| x<-[1..k]]
list\u all\u apple::Integer->String
列出_all_apple k=concat[一行_applex++“\n”| x您可以这样做:
list_all_apple k = concat [(a_row_of_apple $ x - 1) ++ list_apple 1 | x <- [1..k]]
可进一步简化为@wonce的解决方案:
list_all_apple k = concat [a_row_of_apple x ++ "\n"| x<-[1..k]]
必须在每个换行符之前(\n
)
通过利用您已经在使用列表理解的事实,您还可以摆脱concat
:
list_all_apple k = [s | x<-[1..k], s <- a_row_of_apple x ++ "\n"]
您可以这样做:
list_all_apple k = concat [(a_row_of_apple $ x - 1) ++ list_apple 1 | x <- [1..k]]
可进一步简化为@wonce的解决方案:
list_all_apple k = concat [a_row_of_apple x ++ "\n"| x<-[1..k]]
必须在每个换行符之前(\n
)
通过利用您已经在使用列表理解的事实,您还可以摆脱concat
:
list_all_apple k = [s | x<-[1..k], s <- a_row_of_apple x ++ "\n"]
您可以这样做:
list_all_apple k = concat [(a_row_of_apple $ x - 1) ++ list_apple 1 | x <- [1..k]]
可进一步简化为@wonce的解决方案:
list_all_apple k = concat [a_row_of_apple x ++ "\n"| x<-[1..k]]
必须在每个换行符之前(\n
)
通过利用您已经在使用列表理解的事实,您还可以摆脱concat
:
list_all_apple k = [s | x<-[1..k], s <- a_row_of_apple x ++ "\n"]
您可以这样做:
list_all_apple k = concat [(a_row_of_apple $ x - 1) ++ list_apple 1 | x <- [1..k]]
可进一步简化为@wonce的解决方案:
list_all_apple k = concat [a_row_of_apple x ++ "\n"| x<-[1..k]]
必须在每个换行符之前(\n
)
通过利用您已经在使用列表理解的事实,您还可以摆脱concat
:
list_all_apple k = [s | x<-[1..k], s <- a_row_of_apple x ++ "\n"]
或者简单地说,unlines[a_row_of apple x | xor simply,unlines[a_row_of apple x | xor simply,unlines[a_row_of apple x | xor simply,unlines[a_row_of apple x | x |但是,zip有两个列表,我有两个字符串。”:要澄清:字符串是列表,字符列表。@TimWolla是的,你说得对“但是,zip有两个列表,我有两个字符串。”:清除:字符串是列表,字符列表。@TimWolla是的,你是对的“但是,zip有两个列表,我有两个字符串。”:清除:字符串是列表,字符列表。@TimWolla是的,你是对的“但是,zip包含两个列表,我有两个字符串。”:要清除:字符串是列表,字符列表。@TimWolla是的,你是对的