she runs 后填以a开头的单词
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了she runs 后填以a开头的单词相关的知识,希望对你有一定的参考价值。
she runs 后填以a开头的单词
可以填写的是:She runs away.她逃跑了。
run away [rʌn əˈwei],逃跑,走掉; 逃脱; (使)流走[掉]; 出奔;
例句:I ran away from home when I was sixteen.我16岁的时候离家出走了。 参考技术A away副词离开
run away跑开逃跑 参考技术B away 参考技术C away 参考技术D ahead
Haskell:如何计算单词
【中文标题】Haskell:如何计算单词【英文标题】:Haskell : how to count words 【发布时间】:2018-06-16 05:17:51 【问题描述】:我是新的 Haskell 学习者,正在尝试计算单词,但有错误。如何更改代码并显示这样的结果
countWords ["friend","she","she"]
>[("friend",1),("she",2)
这里是代码
Prelude Data.List> countWords xs = map(\w -> (head w, length w))
$group $ sort $ words xs
Prelude Data.List> countWords ["hello", "hello", "world"]
:101:13: 错误: • 无法将预期类型“Char”与实际类型“[Char]”匹配 • 在表达式中:“你好” 在‘countWords’的第一个参数中,即 '[“你好”,“你好”,“世界”]' 在表达式中:countWords ["hello", "hello", "world"]
:101:22: 错误: • 无法将预期类型“Char”与实际类型“[Char]”匹配 • 在表达式中:“你好” 在‘countWords’的第一个参数中,即 '[“你好”,“你好”,“世界”]' 在表达式中:countWords ["hello", "hello", "world"]
:101:31: 错误: • 无法将预期类型“Char”与实际类型“[Char]”匹配 • 在表达式中:“世界” 在‘countWords’的第一个参数中,即 '[“你好”,“你好”,“世界”]' 在表达式中:countWords ["hello", "hello", "world"]
谢谢
【问题讨论】:
words
需要一个字符串,而不是字符串列表。你确定你需要words
吗?输入似乎已经被拆分成单词。
【参考方案1】:
正如@chi 所说-words :: String -> [String]
所以要么将函数的输入类型更改为由空格分隔的单个单词字符串,要么省略words
部分,即
countWords :: [String] -> [(String,Int)]
countWords xs = map (\w -> (head w, length w)) $ group $ sort xs
一个示例用法:
Prelude Data.List> countWords ["hello", "hello", "world"]
> [("hello",2),("world",1)]
或
countWords :: String -> [(String,Int)]
countWords xs = map (\w -> (head w, length w)) $ group $ sort $ words xs
示例用法:
Prelude Data.List> countWords "hello hello world"
> [("hello",2),("world",1)]
【讨论】:
【参考方案2】:让我们把它分解成一个更简单的例子:
Prelude> xs = ["hello", "hello", "world"]
Prelude> words xs
<interactive>:2:7: error:
• Couldn't match type ‘[Char]’ with ‘Char’
Expected type: String
Actual type: [[Char]]
• In the first argument of ‘words’, namely ‘xs’
In the expression: words xs
In an equation for ‘it’: it = words xs
如您所见,words
的应用程序出现类型错误。进一步调查向我们展示了问题:
Prelude> :t words
words :: String -> [String]
Prelude> :t xs
xs :: [[Char]]
这里我们看到words
和xs
的类型。首先,words
期望 String
作为其参数。但是,xs
类型是 [[Char]]
。由于[Char]
与String
相同,所以xs
类型也可以指定为[String]
。
现在我们看到了问题所在。您正在将 [String]
(String
s 列表)传递给需要单个 String
的函数。
【讨论】:
以上是关于she runs 后填以a开头的单词的主要内容,如果未能解决你的问题,请参考以下文章