编写一个机器人模拟器。
一家机器人工厂的测试设施需要一个程序来验证机器人的移动。
机器人有三种可能的移动方式:
机器人被放置在一个假想的无限网格上,面朝某个特定的方向(北、东、南或西),并位于一组 {x,y} 坐标处,例如 {3,8},坐标向北和向东递增。
随后,机器人会收到若干条指令,此时测试设施会验证机器人的新位置,以及它面朝的方向。
要完成这个练习,你需要创建数据类型 Robot,并实现以下函数:
bearingcoordinatesmkRobotmove文件中已经有占位的数据声明和类型签名,但函数需要你自己定义,并且要创建一个有意义的数据类型、newtype 或类型同义词。