fer*_*k86 1 functional-programming scala
这是我的代码看起来很难看,因为它使用了两个变量.
def patternMatching(pattern: String, genome: String): List[Int] = {
assert(pattern.length < genome.length)
var curr = 0
var r = List[Int]()
while (curr != -1) {
curr = genome.indexOf(pattern, curr)
if (curr != -1) {
r ::= curr
curr += 1
}
}
r.reverse
}
Run Code Online (Sandbox Code Playgroud)
你怎么用功能的方式写这个?
Yan*_*san 10
这是非常困难的:
0.until(genome.length).filter(genome.startsWith(pattern, _))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2391 次 |
| 最近记录: |