我正在尝试完成汉诺塔游戏,但不知道如何添加计数器。这是我的代码:
我想让它打印出类似于这样的东西。
第一部分。我知道正确的格式是什么。
open System
let disks = Int32.Parse(Console.ReadLine())
let rec hanoi num start finish =
match num with
| 0 -> [ ]
| _ -> let temp = (6 - start - finish)
(hanoi (num-1) start temp) @ [ start, finish ] @ (hanoi (num-1) temp finish)
[<EntryPoint>]
let main args =
(hanoi disks 1 2) |> List.iter (fun pair -> match pair with
| a, b -> printf ": %A %A\n" a b)
0
我想让它打印出类似于这样的东西。
1: 1 3
2: 1 2
3: 3 2
etc...
I'm aware that there is no formatting set for the
1:
2:
3:
第一部分。我知道正确的格式是什么。
"%A: %A %A\n" *with some counter here* a b
然而我不知道如何做到这一点。我在网上寻找答案,但没有找到任何有用的信息。如果有人能帮助我,我将不胜感激。
提前感谢您的帮助。
.fsx
文件和F# interactive - 你根本不需要编译代码,你可以在同一个窗口中进行调整和查看反馈。你可以通过高亮显示代码并按下alt-enter
将代码发送到F# interactive中。 - Jake Lishman