小编Eth*_*Lim的帖子

为首字母缩写写一个函数,但是我必须写什么条件才能帮助我从“apple apple”中得到“aa”

我在声明查找我的首字母缩略词的条件时遇到问题。我写的条件是:

  • 如果“head”为空白,则删除空格。
  • 如果 'head' 的下一个字母为空,则删除字母和尾部。
  • 如果“头”和“尾”是字母,我想要“头”。
  • 如果“头”是空白的,请给我下一个字母,因为这是首字母缩略词之一。

但是当遇到像“apple apple”这样的字母时,它会返回“apape”,因为我在处理第三个条件时遇到了问题。

acronym :: String -> String
acronym [] = []
acronym [x] = [x]
acronym (x:y:xs)
  | x == ' '  =  y : acronym xs -- remove if 'head' is blank(space)
  | y == ' '  =  acronym xs     -- remove both x and y if y is blank(space)
  | x `elem` ['a'..'z'] || x `elem` ['A'..'Z'] && y `elem` ['a'..'z'] || y `elem` ['A'..'Z']
              = x : acronym  xs
  | …
Run Code Online (Sandbox Code Playgroud)

haskell

-1
推荐指数
1
解决办法
66
查看次数

我正在尝试创建自己的(elem)函数

myElement [] = []
myElement [h] = [h]
myElement (h:t)
| h == myElement t  = True
| otherwise         = False
Run Code Online (Sandbox Code Playgroud)

大家好,我正在努力创建自己的elem函数,因为我不允许在 Haskell 中使用任何预定义的函数来做作业。我敢打赌我的代码实际上不起作用,但我想不出其他方式。

search haskell list

-1
推荐指数
1
解决办法
63
查看次数

标签 统计

haskell ×2

list ×1

search ×1