Wil*_*iam 5 lambda haskell lowercase
我想知道如何使用该ToLower函数将字符串转换为小写(Char -> Char).
这是我到目前为止的代码:
let newlist = (\(h:t) -> c (h) ++ newlist (\c -> toLower c)
Run Code Online (Sandbox Code Playgroud)
我不知道怎么做而不使用递归,我不知道如何在lambda表达式中使用
mno*_*nha 14
考虑到你可以将eta-reduce明确命名为函数接受的变量,因此不使用lambda表达式会更容易.例如,您可以使用列表理解:
import Data.Char
lowerString str = [ toLower loweredString | loweredString <- str]
Run Code Online (Sandbox Code Playgroud)
您可以称之为:
ghci> lowerString "Hello"
hello
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用map:
lowerString = map toLower
Run Code Online (Sandbox Code Playgroud)
如果你坚持使用lambda表达式,它看起来像这样:
import Data.Char
lowerString = \x -> map toLower x
Run Code Online (Sandbox Code Playgroud)
再一次,不是那么好.
| 归档时间: |
|
| 查看次数: |
6629 次 |
| 最近记录: |