haskell - 访问数据类型的属性
问题描述
我创建了一个新的数据类型:
data Human = Human [Names] Age
deriving(Eq,Show)
type Names = String
type Age = Int
现在我想为 Human 类型的对象访问 [Names] 的元素:
human1 = Human ["FirstName","LastName"] 22
对于我的示例,是否有一种简单的方法可以做到这一点,例如Names human1
?
解决方案
在这种情况下,最简单的方法是定义一个函数,该函数与Human
数据类型进行模式匹配:
getNames (Human names _) = names
否则,您可以使用记录语法来定义记录的字段:
data Human = Human { names :: [Names], age :: Age }
使用此语法,您可以实现names
和age
功能,它允许您访问字段:
human1 = Human ["FirstName","LastName"] 22
names human1
推荐阅读
- android - 根据Android中的彩色进度条消亡Mapbox多边形
- python - 将 DataFrame 转换为函数不会更改 DataFrame
- python - 根据列表删除熊猫列
- javascript - 根据条件将数组拆分为两个数组
- python-3.x - 为什么纪元秒和字符串之间的时间转换按 1 个日历年更改时间?
- symfony4 - Symfony 4 将 404 错误重定向到我的控制器
- oracle - 如何安装 Apex 19.2?
- php - 从 PHP 文件运行 CLI 命令
- php - XAMPP 控制面板配置文件在哪里?
- javascript - 如何更新在 Promise 内的 Promise 之外声明的变量?