【发布时间】:2015-09-12 14:16:18
【问题描述】:
我想实现一个函数来计算紧随其后的相同字符的数量。此功能始终且仅从头部开始。
function((Char, Int), List[char]) => ((Char, Int), List[Char])
例如(('b',0), List('b','b','x','x')) => (('b', 2), List('x', 'x'))
def function: ((Char, Int), List[Char]) => ((Char, Int), List[Char])={
case(('a', b), Nil) => (('a',b), Nil)
case(('a', b), t::xs) => (('a', b), t::xs)
case (('a', b), a::xs) => function(('a', b+1),xs)
}
我在模式匹配中找不到错误。
是这行中的两个字符
case (('**a**', b), **a**::xs) => function(('a', b+1),xs)
相同的(比如'a' == 'a'),当我给他们相同的字符时?
谢谢!
【问题讨论】:
-
这是一种编程语言还是只是一些随机字符?只是问...
-
这是 Scala 编程语言。现在你也知道了;)
-
这是为了讽刺。我知道斯卡拉,我再也不会碰它了。
-
哈哈,是的,有时候有点奇怪
标签: function scala design-patterns recursion matching