我在空闲时间学习Scala - 作为一个学习练习,我将一些我在另一个StackOverflow问题中编写的 OCaml代码翻译成Scala.由于我是Scala的新手,我很欣赏一些建议......
但在提出我的问题之前 - 这是原始的OCaml代码:
let visited = Hashtbl.create 200000
let rec walk xx yy =
let addDigits number =
let rec sumInner n soFar =
match n with
| x when x<10 -> soFar+x
| x -> sumInner (n/10) (soFar + n mod 10) in
sumInner number 0 in
let rec innerWalk (totalSoFar,listOfPointsToVisit) =
match listOfPointsToVisit with
| [] -> totalSoFar
| _ ->
innerWalk (
listOfPointsToVisit
(* remove points that we've already seen *)
|> …Run Code Online (Sandbox Code Playgroud)