我正在完成任务,我需要一些帮助.这是最后一部分,但我真的很挣扎,不知道如何接近.这是问题所在:
添加一个函数渲染,它接收一个图像并返回一个字符串,如果打印,将给出图像的图形表示,如下图所示(确保包括图像所有边的一个点边框).举个例子,渲染t应该返回
Run Code Online (Sandbox Code Playgroud)".|...\n.xxx.\n-+x--\n.|...\n"(图像中的点表示为'x',原点表示为'+',水平和垂直轴分别表示为' - '和'|'):
Run Code Online (Sandbox Code Playgroud).|... .xxx. -+x-- .|...(我们通过render t函数生成的字符串可以通过执行putStr(render t)来打印以实现上述结果).
image和t就是这样的:
Run Code Online (Sandbox Code Playgroud)type Point = (Int,Int) type Image = [Point] t :: Image t=[(0,1),(1,0),(1,1),(2,1)]
首先,我需要另一个函数,因为它不能全部用于渲染.我知道要查看y和x的最大/最小值来获得边界,我有一个函数.我还有一个函数,它会在每n个字符后在字符串中插入换行符.