function - 在函数中使用变量
问题描述
假设我有一个名为“Coord”的数据类型,其定义如下:
type Coord a = [(Int, Int)]
我想创建一个“坐标”类型的变量以在下面的函数中使用。该函数接收一个 Coord 类型的变量,并将列表中每个项目的 x 坐标乘以 2。然后将这些新坐标中的每一个存储在一个 NEW Coord 变量中;我不确定如何创建/声明/使用我打算返回的这个新变量。
foo :: (Eq a) => Coord a -> Coord a
解决方案
这将是对列表中的每个元素执行某些操作的手动方式:
type Coord = [(Int, Int)]
multiplyXBy2 :: Coord -> Coord
multiplyXBy2 [] = []
multiplyXBy2 ((x, y):rest) = (x*2, y) : multiplyXBy2 rest
这是一个调用ghci
:
*Main> multiplyXBy2 [(1,2), (3,4)]
[(2,2),(6,4)]
有关使用语言的基础知识,例如如何访问传递给函数的列表元素或如何以编程方式构建列表,请考虑遵循 LYAH 的函数语法或 RWH 的定义类型、简化函数等教程
推荐阅读
- python - 进行更改后如何重新运行过去的 DAG 运行
- selenium - 我如何使用无头浏览器运行 selenium python
- pytorch - 运行 GRU 模型的问题;forward() 缺少参数
- python - python中单个print()函数的结果是什么
- r - 从数据表中捕获过滤结果并将其存储为 Shiny 中的新数据集
- python - Pandas: overlay a column into row with a blank one
- java - Log4j2 使用 rollingFileAppender (Java) 自定义文件路径
- spring-boot - 如何使用控制器的 protobuf 进行 Java 单元测试?
- mysql - 为什么我无法将此数据框上传到 MySQL Workbench 中的表中?
- discord.py - 不和谐改变了什么吗?